Vue手表嵌套属性

时间:2020-09-30 11:53:14

标签: vue.js

如何查看Vue中组件属性上的嵌套字段? 在数据项上,代码可以正常工作,但是当我尝试观看道具时,什么也没发生。

export default {
  data: () => ({
    dataitem: {
      nested: "",
    },
  }),
  
  props: {
    propitem: {
      type: Object,
      default() {
        return {
          nested: "",
        };
      },
    },
  },

  watch: {
    // it is working
    "dataitem.nested": function(val) {
        console.log(val);
      }
    },

    // and it's not
    "propitem.nested": function(val) {
        console.log(val);
      }
    },
  },
};

1 个答案:

答案 0 :(得分:3)

对于这样的嵌套数据,您应该使用deep:true:

    watch: {
        dataitem: {
                    handler: function (val) {
                 console.log(val);  
                    },
                    deep: true
                },
    }