Vue Router 嵌套路由中, 子路由path路径带 ‘/‘ 与不带的区别

示例代码:

const routes = [
  {
    path: '/layout',
    component: () => import(/* webpackChunkName: "Layout" */ '@/views/layout/Layout.vue'),
    children: [
      {
        path: 'home',
        component: () => import(/* webpackChunkName: "Home" */ '@/views/layout/home/Home.vue'),
        meta: {
          isR: true,
          top: 0
        }
      },
      { path: '/user', component: () => import(/* webpackChunkName: "User" */ '@/views/layout/user/User.vue') }
    ]
  },
]


const router = new VueRouter({
  routes
}) 

区别:

  • 不带 / (推荐):
    • 如示例代码所示, 当 layout 的子路由 home 在定义 path 路径时没有在路径前书写 / , 那么在 layout 跳转至 home 时, 以$router.push方法为例, 在书写跳转地址时需要与父级路由地址一同书写, 如下 :

      $router.push('/layout/home')
      

      浏览器地址栏显示: http:xxxxxxxxxx/layout/home ;

  • / :
    • 如示例代码, layout 的子路由 user 定义 path 路径时书写了 / , 那么在 layout 跳转至 user 时, 同样以$router.push方法为例, 只需书写 user 自身的 path 定义的路由地址, 如下:

      $router.push('/user')
      

      浏览器地址栏显示: http:xxxxxxxxxx/user .

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值