Vue双向数据绑定原理
1.属性访问器
ECMAScript中的属性分为两种:数据属性和访问器属性
-
1 数据属性
数据属性有4个描述其行为的特性
[[Configurable]]可配置性
[[Enumerable]]可枚举性
[[Writable]]可写性
[[Value]]值 -
2 访问器属性
访问器属性有4个描述其行为的特性
[[Configurable]]可配置性
[[Enumerable]]可枚举性
[[Get]]读取属性
[[Set]]设置属性
访问器属性不能直接设置,必须使用Object.defineProperty()方法。 -
3 Object.defineProperty定义或修改属性特性
定义对象时添加的数据属性,其特性默认为true,要修改属性的默认特性,必须使用ECMAScript5中的Object.defineProperty()方法,此方法接受3个参数:属性所在的对象,属性的名字,一个描述符对象。
调用Object.defineProperty()方法时,如果不指定,configurable,enumerable,writeable都为false。 -
4定义多个属性Object.defineProperties()
利用这个方法,可以通过描述符一次定义多个属性,接受两个参数。 -
5读取属性特性Object.getOwnPropertyDescriptor()
MVVM框架vue实现数据绑定的方式就是属性访问器
网友评论