因为项目需要,最近开始学习使用VUE框架,今天主要对VUE的双向绑定做一个总结或者是学习笔记,VUE能够实现双向绑定,主要运用的是defineProperty()函数的特性。
1.什么是defineProperty()
defineProperty方法会直接在一个对象上定义一个新属性,或者修改一个对象的现有属性,并返回此对象
2.语法
Object.defineProperty(obj, prop, descriptor)
obj为传入的对象;
prop为给对象要添加的属性;
descriptor:可以理解为该对象的一个配置文件,控制该对象的属性是否可以修改等
3.第三个参数descriptor的介绍:
configurable:总开关,true或者false,不写则为ture
writable:当值为true时属性可以被修改,默认为false
enumerable:true|false 该属性为true对象就可以枚举属性影响的有
get和set 是函数 当使用get 和set 不能设置 writable 和configurable
4.set和get的举例
从上图可以看出,我们给userName设置的时候触发了set函数,我们获取userName的时候触发了get函数,这样我们就可以实现视图和数据变化绑定,但是VUE肯定要比这复杂,后期用这个函数可以模拟VUE的这种设计理念。