U
let has =0: let inFlush-false; function proxyReactive(obj){
const dep= new Depo
//proxy绑定
return new Proxy(obj,{
get(target, prop, receiver) # if (Dep.target) ( dep.addSub(prop, Dep.target)
return Reflect.get(target, prop, receiver)
د
set(target, prop, value, receiver)(
const result = Reflect.set(target, prop, value, receiver)
dep.notify(prop)
return result
#
//Object.defineProperty方法function defineReactive(obj, key, val) {
const dep= new DepO Object.defineProperty(obj,key, get:O-
if (Dep.target){
dep.addSub(key, Dep.target)
return val
}.
set: (newal)
valnewVal
dep.notify(key)//数据变化通知所有的订阅者
一
一
class Dep V/依赖收集器
constructoro{