首页 > 其他 > 详细

6、路由组件传参

时间:2020-09-12 16:33:21      阅读:51      评论:0      收藏:0      [点我收藏+]

在组件中使用 $route 会使之与其对应路由形成高度耦合,从而使组件只能在某些特定的 URL 上使用,限制了其灵活性。

使用 props 将组件和路由解耦:

取代与 $route 的耦合

const User = {
  template: <div>User {{ $route.params.id }}</div>
}
const router = new VueRouter({
  routes: [
    { path: /user/:id, component: User }
  ]
})

通过 props 解耦

const User = {
  props: [‘id‘],
  template: ‘<div>User {{ id }}</div>‘
}
const router = new VueRouter({
  routes: [
    { path: ‘/user/:id‘, component: User, props: true },

    // 对于包含命名视图的路由,你必须分别为每个命名视图添加 `props` 选项:
    {
      path: ‘/user/:id‘,
      components: { default: User, sidebar: Sidebar },
      props: { default: true, sidebar: false }
    }
  ]
})

 

技术分享图片

 

 技术分享图片

 

 

技术分享图片

 

 

布尔模式

如果 props 被设置为 trueroute.params 将会被设置为组件属性。

对象模式

技术分享图片

 

6、路由组件传参

原文:https://www.cnblogs.com/caijinghong/p/13656734.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!