const router = new VueRouter({
routes: [
{path: '*', redirect: '/'}
}
)}
我在routes.js文件中将其设置为重定向路由。 我如何设置多个重定向路径并在特定条件下调用它
答案 0 :(得分:0)
在您要根据条件设置多个重定向的组件中,您可以在该组件中使用beforeRouteEnter()
属性,如下所示:
beforeRouteEnter(to,from,next){
next(vm => {
if(condition 1){
vm.$router.push('the path you want to redirect');
}else if(condition 2){
vm.$router.push('the path you want to redirect');
}else{
//no redirect
next();
}
});
}
由于在调用beforeRouteEnter()
属性时尚未创建vue实例,因此无法使用this
访问vue实例,并通过vm
另一种方法是使用route meta feilds,在定义路径和检查全局导航防护中的元字段时,您将包含元字段。在该全局导航防护中,您可以通过检查各种if
语句来重定向。