【面试题】Vue中的$router和$route的区别

博客 动态
0 184
羽尘
羽尘 2022-08-28 10:03:45
悬赏:0 积分 收藏

【面试题】Vue中的$router 和 $route的区别

Vue中的$router 和 $route的区别

点击视频讲解更加详细

this.$route:当前激活的路由的信息对象。每个对象都是局部的,可以获取当前路由的 path, name, params, query 等属性。this.$router:全局的 router 实例。通过 vue 根实例中注入 router 实例,然后再注入到每个子组件,从而让整个应用都有路由功能。其中包含了很多属性和对象(比如 history 对象),任何页面也都可以调用其 push(), replace(), go() 等方法。

路由跳转分为编程式和声明式

声明式:

简单来说,就是使用 router-link 组件来导航,通过传入 to 属性指定链接(router-link 默认会被渲染成一个a标签)。

编程式:

采用这种方式就需要导入 VueRouter 并调用了。

src\router\index.js

import Vue from 'vue';import VueRouter from 'vue-router';Vue.use(VueRouter)// 1. 定义一些路由// 每个路由都需要映射到一个组件。const routes = [    { path: '/home', component: ()=> import('../views//home.vue') },    { path: '/about', component: ()=> import('../views/about.vue') },]const router = new VueRouter({    // mode: 'hash',       //默认是hash模式,url是带#号的    mode: 'history',     //history模式url不带#号    routes  })  export default router

src\views\home.vue

<template>  <div id="app">    <h1>home</h1>    <button @click="handerHerf">跳转</button>  </div></template><script>export default {  name: 'App',  data(){    return {          }   },  mounted() {      },  components:{      },  methods:{    handerHerf(){      console.log('this.$router',this.$router)      this.$router.push('/about')    }  }}</script><style scoped></style>

src\views\about.vue

<template>  <div>    <h1>about</h1>  </div></template><script>export default {  name: 'about',  data(){    return {          }   },  created(){    console.log('this.$route',this.$route)  },  mounted() {       },  computed:{      },  methods:{      }}</script><style scoped></style>

this.$router参数详情
在这里插入图片描述

this.$route参数详情
在这里插入图片描述

若对您有帮助,请点击跳转到B站一键三连哦!感谢支持!!!

posted @ 2022-08-28 09:46 前端--末晨曦吖 阅读(0) 评论(0) 编辑 收藏 举报
回帖
    羽尘

    羽尘 (王者 段位)

    2335 积分 (2)粉丝 (11)源码

     

    温馨提示

    亦奇源码

    最新会员