vue如何使浏览器url固定_如何使用vue-router在进入路由前给url加上参数

例如:当前所在url是 xxx.com/foo/bar?params=123

点击一个按钮,要跳转到 this.$router.push(‘/detail’);

希望跳转过去时url是 xxx.com/detail?params=123

而不是 xxx.com/detail

查询了文档思路应该是 beforeEach 的时候,调用next时传递一些参数即可,不过大概看了一下文档没理解该怎么用

以下用法导致了路由不断的重定向,应该是next重定向后,又重新进入了beforeEach的钩子里面,然后就死循环了

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

// to 和 from 都是 路由信息对象

console.log('router msg:');

console.log(to,from,next);

next({

path: to.path,

query: from.query

})

})

希望vue老司机指点迷津

我觉得是不是题主的思路方向错了?

我们要达到的目的是点击按钮去跳转

xxx.com/detail?params=123

其实不需要在路由的

beforeEach

里面去完成这件事,在这个函数里面的应该是一些全局的处理

看代码,题主应该用的是vue1.0的吧

如我所理解的题主想到达到的效果应该是在点击按钮的时候带上

$route.query

参数

可以在你的按钮(建议改成a链接)里加上这个

<a v-link="{path: '/detail', query: $route.query}">detail</a>

或者js方法跳转

methods: {

detail: function () {

this.$router.go({

path: '/detail',

query: this.$route.query

})

}

}

不知道是不是题主想要的,如果有问题可以追问

问题已经解决:

为啥加了这段就没事了呢

官网上面是这样的,好郁闷~刚刚重新查下了官网~~

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值