vue-router路由拦截

原创 HaiMianBoBo 随笔 vue-router 264阅读 2018-01-24 16:34:34 举报

一,路由拦截

路由拦截在router.beforeEach((to, from, next)router.afterEach((to) 中实现
router.beforeEach((to, from, next) => {
iView.LoadingBar.start();
if (!Cookies.get('user') && to.name !== 'login') { // 判断是否已经登录且前往的页面不是登录页
next({
name: 'login'
});
} else if (Cookies.get('user') && to.name === 'login') { // 判断是否已经登录且前往的是登录页
next({
name: ''index"
});
} else {
next()
}
iView.LoadingBar.finish();
});

router.afterEach((to) => {
iView.LoadingBar.finish();
window.scrollTo(0, 0);
});

评论 ( 5 )
最新评论
HaiMianBoBo 4F 2018-01-25 14:59:52 5F

蠢一点的办法 在自定义的导航按钮里面点击后成禁用状态,在afterEach里面再放开

Lin_Grady 3F 2018-01-25 14:52:25 4F

我之前在微信项目遇到的,现在也没什么办法解决

HaiMianBoBo 1F 2018-01-25 14:44:11 3F

有测试不同的浏览器吗

fantasy525 1F 2018-01-25 09:24:39 2F

我觉得是浏览器bug,之前遇到过但是发现没法避免的,只要做好后端数据校验就行了

Lin_Grady 2018-01-25 09:16:59 1F

有个问题,如果双击返回键足够快,页面还是能饶过拦截的