Javascript vue.js-根据vue实例上设置的值重定向

Javascript vue.js-根据vue实例上设置的值重定向,javascript,vuejs2,vue-router,Javascript,Vuejs2,Vue Router,我试图根据Vue实例上是否设置了值来重定向用户。目前,我正在使用一个类似这样的 这不是一个有效的例子 router.beforeEach((to, from, next) => { next(vm => { if (!vm.value) { vm.value = 123 return {path: '/url'} } }) }) 我是否需要在if语句中调用next('/url')?还是有更好的方法有条件地重定向 提前感谢。如前所述,您

我试图根据Vue实例上是否设置了值来重定向用户。目前,我正在使用一个类似这样的

这不是一个有效的例子

router.beforeEach((to, from, next) => {
  next(vm => {
    if (!vm.value) {
      vm.value = 123
      return {path: '/url'}
    }
  })
})
我是否需要在if语句中调用
next('/url')
?还是有更好的方法有条件地重定向


提前感谢。

如前所述,您可以使用
router.app
访问根Vue实例


如前所述,您可以使用
router.app
访问根Vue实例


与之类似,但是他们不使用实例。不确定他们如何获得类似的
userNotLoggedIn
,但是他们没有使用实例。不知道他们是如何得到的
userNotLoggedIn
谢谢,我会试试的。我发现了这一点,但“路由器被注入的根Vue实例”让我觉得它只是初始的
Vue()
,而不是每个实例。如果有多个Vue实例,路由状态将共享。谢谢,我会尝试一下。我发现了这一点,但“路由器被注入的根Vue实例”让我认为它只是初始的
Vue()
,而不是每个实例。如果有多个Vue实例,则路由状态将共享。
router.beforeEach((to, from, next) => {
    if(!router.app.value){
        router.app.value = 123
        next('/url')
        return
    }

    next()
})