vue router的query动态参数不变

vue router改变地址
使用的viewui界面

<MenuItem name="5-20" :to="rank_score">积分体系</MenuItem>

data数据如下

rank_score: {
path: '/display',
query: {
            id: Date.now()
        }
}

每次刷新界面后 点击第一次的时候会执行
http://localhost:8080/#/display?id=1596029691975
然后第二次就不会跳转了 id就不会改变了

阅读 4.9k
4 个回答

后面拼时间戳即可;

query: {
    id: Date.now(),
    time: Date.parse(new  Date())
}

访问地址:"http://localhost/:8080/#/display?id=1596029691975&time=1472025255555"

因为每次时间戳不一样,所以每次访问都没问题

rank_score需要写成方法,如果在data定义,数值就会没变

rank_score() {
    return {
        query: {
            id: Date.now()
        }
    }
}

你这个rank_score只是刷新界面的时候给他赋值了,固定了query为当前的时间轴,可是你第二次点击的时候没有重新赋值啊,还是按原来的时间轴去加载,所以第一次可以,第二次就不行了(因为第二次query并没有改变),你需要每次点击后修改下query的值,重新获取下Date.now()

手动跳转进这个路由的时候,query会被赋值,如果直接点击浏览器的刷新按钮,浏览器会默认使用原来的query值,不会刷新路由(这个表达不太准确,领会意思吧)。

点击的时候,赋值就可以了

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题