php - vue-router中动态添加路由问题
为情所困
为情所困 2017-05-16 13:07:46
0
1
411

简述

最近在研究前后台分离下基于RBAC的权限控制问题,在使用vue-router动态添加路由的时候,出现一个小问题,需要请教下各位.

大概思路如下:

  • 后台用户登录成功以后,从服务端获取该用户对应的权限列表,并存入sessionStorage中

  • 将用户重定向到后台首页

  • 在router.beforeEach()钩子中,将sessionStorage中的权限列表数据读入,并调用router.addRoutes()动态添加路由.

代码

    router.beforeEach(to, from, next)
    {
        ...
        let permission = JSON.parse(window.sessionStorage.getItem('permission'))
        /*permission = [...{"client_route":"/test"}...]*/
        if (permission) {
            let newRoutes = []
            permission.map((item, index) => {
                newRoutes.push({
                    path:'${item.client_route}', 
                    component: '../view${item.client_route.slice(1)}.vue',
                    meta:{Auth:true}
                })
            })
            router.addRoutes(newRoutes)
        }
        ...
    }

问题来啦

  1. 思路是否有问题?

  2. 上面的代码有问题,path和component这里的${}不知道该怎么处理.原谅我es6学的不好.╮(︶﹏︶")╭.我的本意是根据返回来的路由名称去加载.vue文件

谢谢各位

为情所困
为情所困

全員に返信(1)
洪涛

es6 では、${} がバッククォートで囲まれているため``,你的是单引号''、割り当ては失敗します

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!