有很多时候,会对vue的对象进行watch监听,当其发生改变的时候,执行某段方法,现在在这里有一个监听冒泡的事件。
例如对象obj:{a:1,a,2}
如果我们对obj进行监听,当我们这样赋值
this.obj=2,watch是可以监听到的。
但是,当对其属性改变的时候
this.obj.a=2,watch是监听不到的。
这个情况,说明,object. defineproperty的get和set是不会冒泡的。
如果需要对this.obj整个进行监听.. - - 暂时只能想到深拷贝。
思维拓展一下。如果某些情况,数据更新了,但是没有更新视图,会不会是因为监听不冒泡的原因?例如arr[]这种形式的数据绑定?
例如对象obj:{a:1,a,2}
如果我们对obj进行监听,当我们这样赋值
this.obj=2,watch是可以监听到的。
但是,当对其属性改变的时候
this.obj.a=2,watch是监听不到的。
这个情况,说明,object. defineproperty的get和set是不会冒泡的。
如果需要对this.obj整个进行监听.. - - 暂时只能想到深拷贝。
思维拓展一下。如果某些情况,数据更新了,但是没有更新视图,会不会是因为监听不冒泡的原因?例如arr[]这种形式的数据绑定?
如果包一层computed的话,是可以监听到对象内部的变化。