如何在RouteEnter钩子之前重定向到Vue路由器内的其他URL?

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

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

这里的问题是挂钩中this未定义beforeRouteEnter那么$router在这种情况下,访问和重定向到其他URL 的正确方法是什么?