您的位置:首页 > 产品设计 > UI/UE

vue的观察者,不会对对象的属性进行冒泡监听

2017-12-07 22:59 411 查看
有很多时候,会对vue的对象进行watch监听,当其发生改变的时候,执行某段方法,现在在这里有一个监听冒泡的事件。
例如对象obj:{a:1,a,2}

如果我们对obj进行监听,当我们这样赋值

    this.obj=2,watch是可以监听到的。

但是,当对其属性改变的时候

 this.obj.a=2,watch是监听不到的。

这个情况,说明,object.defineproperty的get和set是不会冒泡的。
如果需要对this.obj整个进行监听.. - - 暂时只能想到深拷贝。

思维拓展一下。如果某些情况,数据更新了,但是没有更新视图,会不会是因为监听不冒泡的原因?例如arr[]这种形式的数据绑定?

如果包一层computed的话,是可以监听到对象内部的变化。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  vue