如何在vue-router的beforeRouteEnter钩子中重定向到不同的url?

14 浏览
0 Comments

如何在vue-router的beforeRouteEnter钩子中重定向到不同的url?

我正在使用Vue.js 2构建一个管理页面,并且我想阻止未经身份验证的用户访问/admin路由,并将他们重定向到/login。为此,我在Admin组件中使用了In-Component Guard的beforeRouteEnter,如下所示:

...
beforeRouteEnter(to, from, next) {
  if(userNotLogedIn) {
    this.$router.push('/login');
  }
}

问题在于beforeRouteEnter钩子中this未定义。那么在这种情况下,访问$router并重定向到不同的URL的正确方法是什么?

0