其他分享
首页 > 其他分享> > 简版mvvm框架实现

简版mvvm框架实现

作者:互联网

简版mvvm框架实现

总结

defineProperty


let dep = new Dep();
Object.defineProperty(obj,'name',{
        configurable: true,
        enumerable: true,
        writable: true,
        get(){
            dep.addSub(new Watcher( ()=> console.log("添加订阅了")))
            return value;
        },
        set(newValue){
            dep.notify(); //发布
            value = newValue;
        }
    })

proxy

通过数据劫持实现表达式

发布订阅监听数据的更新

'''
class Dep{ //收集器
constructor(){
this.subs = [];
}
addSub(sub){
this.subs.push(sub);
}
notify(newValue)
){
this.subs.forEach(sub => sub.update(newValue)

标签:console,mvvm,框架,简版,js,log,defineProperty,require,name
来源: https://www.cnblogs.com/lixialian/p/15528352.html