在改别人写的项目的bug时,本来没有路由守卫,该项目是静态路由,用户直接输入路径不能进入没有权限的页面,于是我就加了beforeEach钩子进行权限判断,结果发现在我进行权限切换测试时,有些时候并没有走入beforeEach里,从网上查了一下,原来自己把router.beforEach放在了挂载根实例的后面,这就导致beforeEach在有些情况下不走。
总结
一定要把挂在根实例的操作放到最后。
new Vue({
el: '#app',
router,
components: { App },
template: '<App/>'
})