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的话,是可以监听到对象内部的变化。
例如对象obj:{a:1,a,2}
如果我们对obj进行监听,当我们这样赋值
this.obj=2,watch是可以监听到的。
但是,当对其属性改变的时候
this.obj.a=2,watch是监听不到的。
这个情况,说明,object.defineproperty的get和set是不会冒泡的。
如果需要对this.obj整个进行监听.. - - 暂时只能想到深拷贝。
思维拓展一下。如果某些情况,数据更新了,但是没有更新视图,会不会是因为监听不冒泡的原因?例如arr[]这种形式的数据绑定?
如果包一层computed的话,是可以监听到对象内部的变化。
相关文章推荐
- vuejs - 如何对某个对象的属性进行watch监听?
- vue源码学习之Object.defineProperty对象属性监听
- vue.js 中如何监听watch:{}对象中的某个属性的变化,做相应的操作
- vue(2) -- vue在watch中监听对象属性的变化
- Vue2.0 解决watch对象属性变化监听不到问题
- vue2.0使用watch监听对象属性
- vue监听对象及对象属性问题
- Python 列表中存储类对象时按照指定属性进行排序——用于正排表的排序
- 根据对象的某一属性进行排序的js代码(如:name,age)
- 解决vue中对象属性改变视图不更新的问题
- 前端基本知识(四):JS的异步模式:1、回调函数;2、事件监听;3、观察者模式;4、promise对象
- java list按照 对象 指定多个字段属性进行排序
- java针对list中的对象的某一属性进行排序
- Vue基础(计算属性和观察者)
- LinkedList中将对象按照某一属性排序,利用 collection.sort(); 来进行调用!
- Vue-router的使用和出现空白页,路由对象属性详解
- vue事件对象,冒泡,阻止默认行为
- IPHONE 和 KVC/KVO 监听对象属性变化(例如:获取textView 的text的变化)
- springmvc mybatis 配置一对多的关系使用 <association> 及实体类写法2Spring MVC 会按请求参数名和 POJO 属性名进行自动匹配自动为该对象填充属性值。支持
- 详解vue2.0监听属性的使用心得及搭配计算属性的使用