mvvm icon indicating copy to clipboard operation
mvvm copied to clipboard

能否加入对数组观察的支持

Open undefined27 opened this issue 7 years ago • 5 comments

undefined27 avatar Apr 21 '17 07:04 undefined27

他明确说明只是简版的实现,想改良,可以去参考下vue,人家只是讲了下原理

amorist avatar May 16 '18 06:05 amorist

我自己翻版了一个,支持观察数组,希望能帮到你 https://github.com/bowencool/bue

bowencool avatar Jan 18 '19 09:01 bowencool

Vue 2.x 通过 Object.defineProperty 来劫持是不支持数组的,你可以用 es6 proxy 来实现对数组的观察,实际上,Vue 3.0 也是通过 proxy 来实现。具体你可以查 proxy 双向绑定。

poyiding avatar Jan 21 '19 02:01 poyiding

No description provided.

echofly avatar Feb 13 '19 02:02 echofly

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;
            }
        });
	});

ckvv avatar Nov 02 '19 14:11 ckvv