Vue 之 相应式数据

目的

本身完成轮子:数据相应式引擎

《Vue 之 相应式数据》

基石

属性拦截器
《Vue 之 相应式数据》

操纵对象

Data
数据类型
《Vue 之 相应式数据》
数据处理
《Vue 之 相应式数据》

class Observer {
    value: any;
    dep: Dep;
    vmCount: number;
    constructor(value: any) {
        this.value = value;
        this.dep = new Dep();
        this.vmCount = 0;
        def(value, '__ob__', this);
        if(Array.isArray(value)) {
            augment(value, arrayMethods, arrayKeys);
            this.observerArray(value);
        }else {
            this.walk(value);
        }
    },
    
    walk(obj: Object) {
        const keys = Object.keys(obj);
        for (let i = 0; i < keys.length; i ++) {
            defineReactive(obj, keys[i]);
        } 
    },
    
    observerArray (items: Array<any>) {
        for (let i = 0; i< items.length; i++) {
            observer(items[i]);
        }
    }
}

《Vue 之 相应式数据》

    原文作者:有李
    原文地址: https://segmentfault.com/a/1190000015970805
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞