Vue-Router:将查询值全局添加到路由

时间:2019-02-11 14:31:18

标签: javascript vue.js vue-router

目标

我想将?instance=123添加到每条生成的路由中。

问题

在导航到每条路线之前,我添加了一个保护措施来附加值,but this approach无法按预期工作。

router.beforeEach((to, from, next) => {
  next({ query: { instance: '123' } });
});

这是如何完成的?

️‍♂️上下文

  • “ vue-router”:“ ^ 2.5.3”
  • “ vue”:“ 2.3.2”,

2 个答案:

答案 0 :(得分:1)

使用github发布的codeofsumit中的代码似乎可以实现您想要的:

router.beforeEach((to, from, next) => {  
  if (!to.query.instance) {
    to.query.instance= '123';
    next({ path: to.path, query: to.query });
  } else {
    next();
  }
});

这是将instance属性添加到查询对象中,这是您尝试做的事情,但是您错过了必须在修改后调用next的地方对象,否则它将继续沿原路线行驶。

答案 1 :(得分:0)

router.beforeEach((to, from, next) => {
  to.query.instance = '123';
  next();
});