vue-router 修改或添加新参数

需求

在学习用vue做项目中,有这样一个需求,在某个页面中有一个分页组件,组件的功能有一个是点击某一数字,需要往url中push参数,但原来url中可能有其他的参数,也有可能没有其他参数,有可能已经有关于页数的参数,也有可能没有,使用$router.push()的形式则会覆盖原有的query,因此开始了我的探索之路(可以直接看最后结论)

step 1 (查找其他方法)

主要试图找到其他方法,可以直接添加新参数或者修改已有参数,绕过需要获取已有参数的坑

很明显失败了,一个是没有找到其他方法,二是$router.push()也没有发现满足我需求的调用方法,因此确定必须要获取原有参数,进行修改或者新增,最后调用$router.push()完成任务

step 2 (确定思路)

经过思考,我觉得代码逻辑应该是这样:

methods: {
    changePage (num) {
        var _this = this,
            oldQuery = _this.$router.currentRoute.query,
            newQuery = _this.getNewQuery(oldQuery, '
  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值