每个人的好日子,
我试图删除vuejs上的addedRoutes ..在对vue-router文档进行了几个小时的研究之后,我找不到可以清除addedRoutes的方法。
这是我的代码:
new Vue({
el: '#app',
render: h => h(App),
router:router,
data(){
return{
isAuth:null
}
},
created(){
this.checkAuthentication();
if(this.isAuth){
this.getUserRole();
}
bus.$on('reload', (passData) => {
this.getUserRole();
if(this.isAuth){
this.getUserRole();
}
});
},
methods:{
getUserRole(){
this.$http.get('api/users/getRole').then(response => {
console.log(response);
if(response.body.is_admin){
router.addRoutes(Routes);
}else if(response.body.is_buh){
router.addRoutes(BUHRoutes);
}else if(response.body.is_so) {
}
});
},
checkAuthentication(){
this.isAuth = this.$auth.isAuthenticated();
}
}
});
我的情况是,当我登录时,如果成功,我会获得userRole,并根据该用户角色,我根据userRole添加路由router.addRoutes()
。但是,当我退出时,我在控制台日志[vue-router] Duplicate named routes definition: { name: "division-maintenance", path: "/division-maintenance" }
上收到此警告。这就是为什么我正在研究如何清除addRoutes。
任何帮助将不胜感激。
答案 0 :(得分:0)
我用vue-route创建一个示例文件
import Vue from 'vue'
import Router from 'vue-router'
import Home from './views/Home.vue'
Vue.use(Router)
export default new Router({
base: process.env.BASE_URL, //config url base
routes: [
{
path: '/home',
name: 'home',
component: Home
},
],
mode: 'history'
})
属性mode: 'history'
删除了#