vue-Router路由别名使用技巧

在这里插入图片描述
何为路由别名?
如果你选择查看别人的博客或者文档,很快你能得出这样的结论.

/a 的别名是 /b,意味着,当用户访问 /b 时,URL 会保持为 /b,但是路由匹配则为 /a,就像用户访问 /a 一样。

上面对应的路由配置为

const router = new VueRouter({
  routes: [
    { path: '/a', component: A, alias: '/b' }
  ]
})

似乎很好理解,为两个不同的URL匹配相同的组件,可是这有什么使用场景呢?

在我们单页面应用的开发场景中,经常会有这样的页面布局
在这里插入图片描述
布局已经写好,我们所有的业务模块开发都在右边的主体main中进行,接到需求后你也很快沿着业务流程写了几个页面.

可这个时候产品告诉你,按着这个流程下一步来到这样一个页面

在这里插入图片描述
头部还有侧边都不要了,就中间显示这个

可是你已经顺着业务嵌套几层路由了,但也难不倒对router早已了若指掌的你,大不了重开一个顶层路由脱离这个布局嘛
可这么干会有些不好的影响

  1. RUL会变得很难看,原本应该是home/aboot/detail/xx的路径变成了home/xx
  2. 路由模块会变得不符合原本的业务模块,本来都从属于about之下,当现在又开了一个顶层路由

于是我们就可以使用别名来解决这种情况

“别名”的功能让你可以自由地将 UI 结构映射到任意的 URL,而不是受限于配置的嵌套路由结构。
routes: [
    { path: '/root', component: Root, alias: '/root-alias' },
    { path: '/about', component: Home,
      children: [
        { path: 'detail', component: Nested,
          children: [
            { path: '/home/xx', component: NestedFoo, alias:'/home/aboot/detail/xx'}
          ]
        }
      ]
    }
  ]

so: 别名的核心就在于我们可以自由的在嵌套路由中使用不同的UI结构,跳出原有的结构嵌套
在这里插入图片描述

  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值