vue子组件:key值改变后,子组件watch不触发

我需要在传入子组件某个字更新后,将子组件重新渲染,打算使用:key值更新
结果发现 子组件发现 watch chatWindowData.id 不触发


  <chat-window-interface :key="chatWindowData.id"
                         :landlordAndTenant.sync="landlordAndTenant"
                         :chatWindowData.sync="chatWindowData"></chat-window-interface>
    //  打开聊天窗口
    openChatWindow(_item) {
      this.chatWindowData = _item
    },

子组件 watch不触发

  watch: {
    'chatWindowData.id': {
      deep: true,
      handler() {
        console.log('watch')
        this.chatInit()
      }
    }
  }
阅读 5.2k
2 个回答

你改变了:key, watch 中的值又没有变化,那怎么触发?

你要在子组件里 watch key

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