vue 添加动态路由一些注意点

我们常见做法是后端返回权限值,前端来操作路由的显示和是否可访问,这种做法可能用的比较多,然而还有一种做法,那就是后端直接返回路由,后端匹配好路由返回给前端,前端只要铺上就好了,这种时候可能会碰到点坑

1.和后端协定数据结构。能争就争,最好是让后端按你想要的格式返回,如果实在争不到那也没办法 自己写个递归format去吧

2.拿到想要的数据,存储到vuex或者localStorage上,然后使用就好了

注意:

  1.组件值一定要和pages或者views下的路径一致,区分大小写,不然动态加载的时候会报错

  2.接口请求写在beforeEach中,别忘了加点判断,看看什么时候去请求

  3.第一次跳转可能会报push的错误  那么再router下的index.js加上一段

        const originalPush = Router.prototype.push

        Router.prototype.push = function push (location) {

          return originalPush.call(this, location).catch(err => err)

        }

  4.如果组件使用路由懒加载 ` return () => import(`@/pages/${view}`);`

        npm install 一下 babel-plugin-syntax-dynamic-import

        注意import里面路径的写法 `@/${view}`如果有问题  那就往下一层 ,类似于上面的写法
posted @ 2020-12-25 16:37  烟雨轮回  阅读(271)  评论(0)    收藏  举报