Vue使用this.$router.back()或go(-1)无效,页面不跳转?

新手上路,请多包涵

在vue项目中使用this.$router.go(-1)返回上一页时,发现有时候该功能是正常的,有时候,路由改变了,但页面依旧停留在当前界面。

this.$router.go(-1) 改成 this.$router.back() 后也不行

阅读 1.1k
1 个回答

Vue 组件可能被缓存,导致页面内容没有更新。可以在组件中使用 beforeRouteUpdate 钩子来监听路由变化,并手动更新组件内容。

// 在组件中监听路由变化
beforeRouteUpdate (to, from, next) {
  // 手动更新组件内容
  this.updateComponentContent();
  next();
},

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