2024-08-15

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{

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容