美文网首页
vue-router 在每个路由进入前添加参数

vue-router 在每个路由进入前添加参数

作者: fukang2113 | 来源:发表于2019-01-10 13:49 被阅读0次

       在vue-router的钩子函数beforeEach函数中有三个参数to,from,next,因为不能直接操作to.query,所以直接修改query的做法gg,但是to.meta是可以随意旋转跳跃的,嗯~灵感来了。

      大体想法是给meta里边一个标志来表示是否已经添加了想添加的字段,那就叫youKnowWho吧,首先设置to.meta.youKnowWho = false,在beforeEach开始时判断youKnowWho,为false时进行操作,废话少说,上酸菜

router.beforeEach((to, from, next) => {

  if (!to.meta.youKnowWho ) { // 说明没有进行操作

    to.meta.youKnowWho= true // 一定要写,不然烫烫烫到怀疑人生

    let newTo = { ...to } // 不要直接to.query = 什么鬼,先克隆出来

    newTo.query.something= something // 做自己想做的事,这里只以query为例

    next(newTo)  // 重新跳转路由,这时候想干的事已经干完了,并且不会再进到这个if语句

    return

  }

..... // 别的操作

})

相关文章

网友评论

      本文标题:vue-router 在每个路由进入前添加参数

      本文链接:https://www.haomeiwen.com/subject/bofarqtx.html