能否加入对数组观察的支持
undefined27 opened this issue · comments
能否加入对数组观察的支持
他明确说明只是简版的实现,想改良,可以去参考下vue,人家只是讲了下原理
我自己翻版了一个,支持观察数组,希望能帮到你
https://github.com/bowencool/bue
Vue 2.x 通过 Object.defineProperty 来劫持是不支持数组的,你可以用 es6 proxy 来实现对数组的观察,实际上,Vue 3.0 也是通过 proxy 来实现。具体你可以查 proxy 双向绑定。
No description provided.
Object.defineProperty
Vue 2.x 通过 Object.defineProperty 来劫持是不支持数组的,你可以用 es6 proxy 来实现对数组的观察,实际上,Vue 3.0 也是通过 proxy 来实现。具体你可以查 proxy 双向绑定。
arr.forEach(function(val,index) {
Object.defineProperty(data, index, {
enumerable: true, // 可枚举
configurable: false, // 不能再define
get: function() {
return val;
},
set: function(newVal) {
console.log('哈哈哈,监听到值变化了 ', val, ' --> ', newVal);
val = newVal;
}
});
});