Vue - 源码之双向数据绑定
复杂问题简单化,Vue 2.0和Vue 3.0的区别
// vue - 2.0 - 数据的双向绑定
var obj = {};
Object.keys(obj).forEach((item, index) => {
Object.defineProperty(obj, obj[item], {
get: function () {
return value;
},
set: function (newVal) {
obj[item] = newVal;
}
});
})
obj.name = 'jack';
obj.age = 18;
console.log(obj);
// vue - 3.0 - 数据的双向绑定
var obj3 = {};
new Proxy(obj3, {
get: function (obj3, prop) {
return obj3[prop];
},
set: function (obj3, prop, value) {
obj3[prop] = value;
}
});
obj3.name = 'Jack';
console.log(obj3)