Vue.js 中监听 $route 变化时 DOM 未更新的问题如何解决?

新手上路,请多包涵

watch: {

// 监听路由对象变化(包括 query、params、hash 等)
$route: {
  handler(to, from) {
    console.log('路由变化(含浏览器后退):', from.path, '→', to.path)
    this.$nextTick(() => {
      this.init();

    })
  }
}

},哪里有错误呢

这个是之前dom的结果 , dom并未更新 , 所以执行函数设置属性都会出错

阅读 396
1 个回答

给 router-view 加个 key,使路由有一点改变就重新加载组件

<router-view :key="route.fullPath" />

还有如果像你所写,如果你的路由监控生效了,init 方法应该也会生效,如果你写的是响应式界面,数据更新了界面应该也会更新吧

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