千家信息网

在vue中如何用全局路由钩子给url统一添加公共参数

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,本文小编为大家详细介绍"在vue中如何用全局路由钩子给url统一添加公共参数",内容详细,步骤清晰,细节处理妥当,希望这篇"在vue中如何用全局路由钩子给url统一添加公共参数"文章能帮助大家解决疑惑
千家信息网最后更新 2026年11月03日在vue中如何用全局路由钩子给url统一添加公共参数

本文小编为大家详细介绍"在vue中如何用全局路由钩子给url统一添加公共参数",内容详细,步骤清晰,细节处理妥当,希望这篇"在vue中如何用全局路由钩子给url统一添加公共参数"文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。

有的时候我们可能有这样的需求,比如现在url为m.taoyuewenhua.com/#/ 我们需要在用户每次跳转路由的时候监控有没有abc这个参数. 如果有,后端要求我们在以后跳转任何url的时候,都要在url携带上这个参数.就变成m.taoyuewenhua.com/#/&abc=xxx;

这个参数称为"公共参数";

那么,我们该如何做呢?因为vue中有很多组件.在每个组件都写的话,太麻烦.所以这个时候,全局路由钩子登场了.分别是

router.beforeEach 全局导航前置守卫 路由跳转前执行

router.beforeResolve 全局导航解析守卫 vue2.5新增 导航被确认之前,同时在所有组件内守卫和异步路由组件被解析之后, 解析守卫就被调用

router.afterEach 全局导航后置守卫 路由跳转后执行

我们此次用到的是前置守卫.开始我用的是后置守卫.因为出现bug,也可能是本人技术不精.后又改为前置守卫.

代码如下:

router.beforeEach((to, from, next) => { if (to.query.abc) {  next();  return; }; if (from.query.abc) {  let toQuery = JSON.parse(JSON.stringify(to.query));  toQuery.abc = from.query.abc;  next({   path: to.path,   query: toQuery  }) } else {  next() }  });

在这里解释一下: 前置守卫一定记得执行next方法.如果不执行,路由不会跳转.路由在跳转的时候,如果我们输出from和to.他们分别代表上一个路由和现在的路由.假如我们要从a调到b;也就是跳转的时候,我们马上获取b路由地址.并且判断此时b路由有没有abc这个参数.如果有就直接跳转过去,next方法执行.并且return;如果没有,然后如果a这个url有abc这个参数了,那么我们就把这个参数放到b的url上;并且next方法执行.携带上这个参数就行了. 最后,如果a没有这个参数 ,直接next方法执行.也就是说路由直接跳转过去,不做任何拦截。

读到这里,这篇"在vue中如何用全局路由钩子给url统一添加公共参数"文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注行业资讯频道。

路由 参数 全局 时候 钩子 方法 组件 导航 统一 文章 也就是 内容 妥当 也就是说 代码 代表 同时 地址 思路 技术 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 新华互联网科技 科技和互联网公司 互联网金融公司科技 互联网科技革命 互联网科技的英文 安徽鑫晟辉互联网科技 互联网科技公司名称 深圳卡尔迅互联网科技有限公司怎么样 银川新华互联网科技学校地址 天速互联网络科技有限公司 温州喔噻互联网科技有限公司 茂名市互联网科技产业园 湖南诚度互联网科技有限公司 互联网新科技动漫ppt素材 互联网科技大赛获奖感言 华中科技大学互联网的牛人 工业互联网科技成果转化 半导体行业属于互联网高科技类吗 萌小萌互联网科技河南有限公司 前海云享互联网科技 天津市摩尔互联网科技 北京路客互联网科技有限公司 深圳恒合互联网络科技有限公司 科技企业和互联网企业 昭通云南众福互联网科技有限公司 青岛科技大学互联网大赛研究生 链环科技传统企业怎么转型互联网 华中科技大学互联网的牛人 电子商务与互联网科技的关系 风投北京互联网科技
0