在改别人写的项目的bug时,本来没有路由守卫,该项目是静态路由,用户直接输入路径不能进入没有权限的页面,于是我就加了beforeEach钩子进行权限判断,结果发现在我进行权限切换测试时,有些时候并没有走入beforeEach里,从网上查了一下,原来自己把router.beforEach放在了挂载根实例的后面,这就导致beforeEach在有些情况下不走。

总结

一定要把挂在根实例的操作放到最后。

// 将它放在最后
new Vue({
  el: '#app',
  router,
  components: { App },
  template: '<App/>'
})
Logo

Vue社区为您提供最前沿的新闻资讯和知识内容

更多推荐