vue 全局前置守卫应用实例

vue 全局前置守卫应用实例

解决路由传参后可以打开两个相同页面的问题。

解决方案:
需要在router.js里应用全局前置守卫给路由加相同的参数,例如token。

代码:

Vue.use(Router)
const router = new Router({
	routes: [
		{
            path: '/xxx',
            component: () =>
                import ('./views/xxx/xxx/xxx.vue'),
            meta: {},
            children: [{
                path: '/xxx/xxx',
                name: 'xxx',
                meta: {
                    title: 'xxx',
                    index: 3,
                },
                component: () =>
                    import ('./views/xx/xxx/xxxx/xxxxx.vue')
            }]
        },
	]
})
// 全局路由守卫
router.beforeEach((to, from, next) => { //to进入的路由;from离开的路由
    if (to.query.token) {
        next();
        return;
    };
    if (from.query.token) {
        let toQuery = JSON.parse(JSON.stringify(to.query));
        toQuery.token = from.query.token;
        next({
            path: to.path,
            query: toQuery
        })
    } else {
        next()
    };
});
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值