鍍金池/ 問(wèn)答/HTML/ 如何解決addRoutes刷新后失效的問(wèn)題?

如何解決addRoutes刷新后失效的問(wèn)題?

如題,用addRoutes控制路由權(quán)限,如果正常操作登錄點(diǎn)菜單路由攔截沒(méi)有問(wèn)題,add很ok,問(wèn)題在于一刷新頁(yè)面router就還原成初始數(shù)據(jù)了,我嘗試在刷新后再次addRoutes,然而并沒(méi)有效果,還是一片空白,雖然不明白為什么,講道理是在router.beforeEach里加的,不明白為什么沒(méi)效果,部分代碼如下

appRouter.beforeEach((to, from, next) => {
    if (to.matched.length === 0) {
        next({ path: 'notFound' })
    } else {
        if (to.path === '/login') {
            if (getToken()) {
                next({ path: '/' })
            } else {
                next()
            }
        } else {
            if (getToken()) {
                if (appStore.getters.role.length === 0) {
                    commonApi.getUserInfo().then(({data: {resultCode, result, msg}}) => {
                        appStore.dispatch('setRoleRouter', result.role).then((res) => {
                            appRouter.addRoutes(res)
                            next()
                        })
                    })
                } else {
                    next()
                }
            } else {
                next({ path: '/login' })
            }
        }
    }
})

求大佬解答

回答
編輯回答
久舊酒

看看是不是重定向的問(wèn)題,404頁(yè)面放在異步路由里面的最后面!

2017年1月6日 13:25