Vue中$router和routes和$route有什么区别

在Vue中,$router指向的是大路由,routes是路由配置数组, $route指向的是当前活跃的路由。
$router:

const router = new VueRouter({
  // 配置路由和组件之间的应用关系
  routes,
  mode: 'history',
  linkActiveClass: 'active'
})

routes:

const routes = [
  {
    path: '',
    // redirect重定向
    redirect: '/home'
  },
  {
    path: '/home',
    component: Home,
    meta: {
      title: '首页'
    },
    children: [
      // {
      //   path: '',
      //   redirect: 'news'
      // },
      {
        path: 'news',
        component: HomeNews
      },
      {
        path: 'message',
        component: HomeMessage
      }
    ]
  },
  {
    path: '/user/:id', //拼接用户id
    component: User,
    meta: {
      title: '用户'
    },
  }
]

$route:

  export default {
    name: "User",
    computed: {
      userId() {
        // $route和$router不一样,$route是当前哪个路由处于活跃状态,你拿到的就是哪个路由
        return this.$route.params.id
      }
    },
    created() {
      console.log('User created');
    },
    destroyed() {
      console.log('User destroyed');
    },
    methods: {
      btnClick() {
        // 所有的组件都继承自Vue类的原型
        console.log(this.$router);
        console.log(this.$route);

        console.log(this.name);
      }
    }
  }

以上,阿弥陀佛。

发布了353 篇原创文章 · 获赞 4 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/Xidian2850/article/details/103826710