watch: {
$route: {
// $route可以用引号,也可以不用引号
async handler(to, from) {
// console.log("当前路由:", this.roles);
// console.log("路由变化了");
// console.log("当前页面路由:" + to?.name);
// console.log("上一个路由:" + from?.name);
if(to?.name != 'execute'){
await this.$store.dispatch("user/getInfo");
}
if (to.meta && to.meta.roles) {
// role => route.meta.roles.includes(role)
let flag = this.roles.some(item => {
return to.meta.roles.some(sub => {
return sub === item;
});
});
if(!flag){
this.$router.push({name:'Page404'})
}
}
},
deep: true, // 深度监听
immediate: true // 第一次初始化渲染就可以监听到
}
}
路由监听 VUE
最新推荐文章于 2024-04-08 09:16:04 发布