vue如何实现在子组件中监听父组件数据的变化

父组件的数据发生变化时,如何做到在子组件中实现实时监听并做出响应。

用emit方法

https://segmentfault.com/a/1190000011426018

如果只需要监听父组件值的变化的话在子组件定义props然后父组件将值传递给子组件,子组件直接写watch监听就可以。

您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632

    props: ["opType", "editData"],
    watch: {
      editData: {
        immediate: true,
        handler(newVal, oldVal) {
          if (this.editData.pryType === "MOBN") {
            this.infoIndex = 0;
          } else if (this.editData.pryType === "EMAL") {
            this.infoIndex = 1;
          } else if (this.editData.pryType === "SVID") {
            this.infoIndex = 2;
          } else if (this.editData.pryType === "BBIN") {
            this.infoIndex = 3;
            if (this.getListSeconed) {
              this.getkList();
              this.getListSeconed = false;
            }
          }
        },
        deep: true
      }
    },

子组件直接修改父组件传过来的数据是会报警告的!建议再子组件定义自己的data再赋值。