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