这篇文章给大家介绍如何在vue项目中实现数据双向绑定,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。
1.vue中数据的双向绑定采用的时候,数据劫持的模式。其实主要是用了Es5中的Object.defineProperty;来劫持每个属性的getter,和setter。这也正是Vue不兼容IE8以下的原因。
2.Object.defineProerty();
var obj = {}; Object.defineProperty(obj,"hello",{ enumerable: true, //表示这个属性能够通过 for -- in 循环 (是否可枚举); configurable: true, //表示这个属性能否用 delete 删除 get(){ //获取属性值,说白了就是返回值 return this.val; }, set(newVale){ //对属性的处理 (说白了: 就是在赋值的过程中提供一个方法来决定返回值) this.val = newVale + 5; console.log(this.val); // 10 } }) obj.hello = 5; console.log(obj.hello) ; // 10
3.实现简单的双向绑定