vue-router怎样在进入页面时手动刷新一次

我用this.$router.push()跳转到一个页面,但是我的数据没获取到,我手动刷新一次就获取到了,我想就是在我刚进入这个页面的时候就手动刷新一次,请问要怎样可以做到?

阅读 6.9k
3 个回答
this.$router.replace({
    path: '/refresh',
    query: {
      t: Date.now()
    }
  })

解决问题的方向不对,我建议你断点调试。
1、获取数据肯定不需要额外刷新一次的。
2、看看获取数据的方法是否在vue的生命周期里面调用了。

解决问题的思路就不对,获取数据可以在created的执行,route.push进去没执行可以watch下路由,重新获取执行获取数据的方法。

created(){
    //created的时候执行获取数据的方法
    this.getData()
},
methods: {
    getData(){
        //你的的ajax获取数据
    }
},
watch: {
    //route.push进来后没有执行获取数据的方法可以watch下路由,有变化后再次获取数据,而不是靠刷新一次来获取数据
    $route(){
        this.getData()
    }
}
推荐问题