Vue路由跳转携带固定参数

index.js文件修改

import Router from 'vue-router'
const originalPush = Router.prototype.push;
Router.prototype.push = function push(location, onResolve, onReject) {
    if (onResolve || onReject) {
        return originalPush.call(this, location, onResolve, onReject);
    }
    return originalPush.call(this, location).catch((err) => err);
};
Vue.use(Router)

let router = new Router({.....})


import Router from 'vue-router'
const originalPush = Router.prototype.push;
Router.prototype.push = function push(location, onResolve, onReject) {
    if (onResolve || onReject) {
        return originalPush.call(this, location, onResolve, onReject);
    }
    return originalPush.call(this, location).catch((err) => err);
};
Vue.use(Router)


 let router = new Router({.....})


router.beforeEach((to, from, next) => {
    if (to.path == '/404' || to.query.tc) {
        next();
        return;
    }
    if (from.query.tc && from.query.tc.length <= 32) {
        //如果目标路由没有公共参数,就获取公共参数并添加
        let toQuery = JSON.parse(JSON.stringify(to.query));
        toQuery.tc = from.query.tc;
        next({
            path: to.path,
            query: toQuery
        })

    } else {

        router.push({
            path: "/404",
            name: "404",
        })

    }

}) 

 

posted @   b̶i̶n̶g̶.̶  阅读(542)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
历史上的今天:
2016-06-01 异步编程中的最佳做法(async await)
点击右上角即可分享
微信分享提示