vuerouter的问题,单页刷新或者直接输入路径不触发 beforeEach

# 路由里设置了 auth 属性
'/manage':
     'name': 'manage'
     'auth': true
     'component': require './components/user-manage.vue'
                 
# beforeeach里验证 auth 跳转到login页
# 但是刷新页面(此时路由是 /manage),并没有触发此函数跳转,新开一个页面输入地址也没有触发,(直接显示/manage路由组件的内容)
 router.beforeEach (transition) ->
        # 检测cookie 验证跳转
        if transition.to.auth
            transition.redirect('/entry/login');
        else
            transition.next();
阅读 16.5k
4 个回答

嗯 已经解决了

之前把 router.beforeEach 放在 文件最后了
放在 router.start 前面就好了

router.beforeEach (transition) ->
    # ...
    
routerMap router
router.start App, '#app'

transition.redirect('/entry/login');
我又在一次在我项目中试了下代码,我这边自动跳转了!还是检查下你的代码路由配置吧

有完整点的demo么 0.0

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题