vue双向数据绑定

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实现数据绑定的方式就是属性访问器

你可能感兴趣的:(vue双向数据绑定)