vue-router设置多级路由那些事

两天没有接着写这个文档了,主要是在路由这块,多极路由嵌套,没有仔细看文档,走了不少弯路,

官网:https://router.vuejs.org/zh-cn/essentials/nested-routes.html

项目源码:GitHub - jianshidaima/admin: vue2全家桶开发商户管理后台

先说说  我遇到的麻烦吧,

1、对与侧边栏导航展示

根路由:’/’,

一级路由:’/goos’

二级路由:’goodsList’

细心地同学会发现,在二级路由里没有 “/”这个符号,然而这就是我遇到的第一个麻烦,来看看官网给的例子: 


vue-router设置多级路由那些事_第1张图片

这下似乎明白了,只有根路径  才会加上“/”,其二级,三级..都不需要加上“/”

在说明一点:在设置路由的时候,尽量把name设置成path的值,在meta里加上需要的name值,就像这样:


vue-router设置多级路由那些事_第2张图片

这样方便的地方就是 在router-link配置to的时候用:to=‘{name:""}',这样更容易匹配路由

2、把所有的路由,都写在 src/router/index.js里这样是不是太难维护了,而且有的路由,是从服务器上获取的,如何添加上呢?

于是一番百度,发现了一个addRoutes;

router.addRoutes(routes)

2.2.0+

动态添加更多的路由规则。参数必须是一个符合 routes 选项要求的数组。

接下来 我把我写的路由分成不同的模块文件,然后再APP.vue跟组件统一添加到路由上,想法很好,现在去实现吧!

路由模块文件结构:


vue-router设置多级路由那些事_第3张图片

router/index.js: 


vue-router设置多级路由那些事_第4张图片

router/leftSlider.js: 


vue-router设置多级路由那些事_第5张图片

router/portal/index.js: 


vue-router设置多级路由那些事_第6张图片

router/portal/forget.js: 


vue-router设置多级路由那些事_第7张图片

router/portal/register.js: 


vue-router设置多级路由那些事_第8张图片

在跟组件 app.vue里将路由模块挂在到路由上: 


vue-router设置多级路由那些事_第9张图片

到这里路由,全部挂在!大功告成。

重启服务:npm run dev 在地址栏输入:http://localhost:8080/#/portal/forget


vue-router设置多级路由那些事_第10张图片

你可能感兴趣的:(vue-router设置多级路由那些事)