2、vue子路由

实际生活中的应用界面,通常由多层嵌套的组件组合而成。
同样地,URL 中各段动态路径也按某种结构对应嵌套的各层组件。
借助 vue-router,使用嵌套路由配置,就可以很简单地表达这种关系。

const router = new VueRouter({
  routes: [
    { path: '/user/:id', component: User,
      children: [
        {
          // 当 /user/:id/profile 匹配成功,
          // UserProfile 会被渲染在 User 的 <router-view> 中
          path: 'profile',
          component: UserProfile
        },
        {
          // 当 /user/:id/posts 匹配成功
          // UserPosts 会被渲染在 User 的 <router-view> 中
          path: 'posts',
          component: UserPosts
        }
      ]
    }
  ]
})

要注意,以 / 开头的嵌套路径会被当作根路径。
Vue的官方文档描述如上。
地址:https://router.vuejs.org/zh/guide/essentials/nested-routes.html

操作过程中,具体会遇到以下3种情况:

1、vue文档

const router = new VueRouter({
  routes: [
    { path: '/home', component: User,
      children: [
        {
          path: 'children1',
          component: UserProfile
        },
        {
          path: 'children2',
          component: UserPosts
        }
      ]
    }
  ]
})

XXX/home 路径展示的是User页面
XXX/home/children1 路径展示的是UserProfile页面
XXX/home/children2路径展示的是UserPosts页面

2、如果将子路由的path加斜杠,相当于书写错误

const router = new VueRouter({
  routes: [
    { path: '/home', component: User,
      children: [
        {
          path: '/children1',
          component: UserProfile
        },
        {
          path: '/children2',
          component: UserPosts
        }
      ]
    }
  ]
})

XXX/home 路径展示的是User页面
访问
XXX/home/children1
XXX/home/children2
两个子路径,UserProfile、UserPosts页面展示为空白
因为以 / 开头的嵌套路径会被当作根路径。
只有修改访问地址为
XXX/children1
XXX/children2
才能访问对应页面

3、
还有人加多个斜杠书写为

const router = new VueRouter({
  routes: [
    { path: '/home', component: User,
      children: [
        {
          path: '/home/children1',
          component: UserProfile
        },
        {
          path: '/home/children2',
          component: UserPosts
        }
      ]
    }
  ]
})

这样在子路由里写完整路径,同样可以访问
XXX/home 展示User页面
XXX/home/children1 展示UserProfile页面
XXX/home/children2展示的UserPosts页面

综上,使用第一种写法更为规范方便。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • vue路由的使用 vue-router是Vue.js官方的路由插件,它和vue.js是深度集成的,适合用于构建单页...
    赵客缦胡缨v吴钩霜雪明阅读 1,051评论 0 17
  • 用两张图告诉你,为什么你的 App 会卡顿? - Android - 掘金 Cover 有什么料? 从这篇文章中你...
    hw1212阅读 13,577评论 2 59
  • 后来 你把头发剃的一根不剩 你说白头皆老 后来 偏让我把头发染成黄色
    黄海观云阅读 639评论 8 22
  • 后续:道姑对他说,你日后若看上哪家女子我必为你去提亲,她若不从,我屠她满的,她若从了,我便只杀她一人……
    宝贝木头阅读 290评论 0 1
  • 总述 《乔峰传》是由第七大道开发,youxi.com、哥们网、65wan等游戏平台联合运营,于2015年3月份公测...
    王世震阅读 506评论 0 0

友情链接更多精彩内容