使用路由保护时,我不知道你们不遇到router.beforeEach ()会发生死周期问题。 其实问题很简单:
也就是说,必须调用beforeEach (是next )。 否则就会变成无限循环。
next (和next ) ' XXX '不同。 区别在于前者不会再次调用router.beforeEach ),后者不会!
小情况:登录页面((/login ) ) (首页) )/() ) ) ) ) ) )。
router.beforeeach((to,from,next )={
var userinfo=JSON.parse (会话存储. getitem (' userinfo存储' ); //获取浏览器缓存的用户信息
如果有if(userinfo )//的话,直接去首页哦
next (;
}else{
if(to.path=='/login ' ) /如果路径是登录页面,则保持不变(next ) ) ) ) ) ) ) ) ) )。
next (;
(else )//否则跳至登录;
next ()/login );
}
}
);
这样写的话就不会发生死循环。
其实,正因为不完全理解next ()的使用,才是导致此死循环的问题。
建议多看官方文档。