Vue3 proxy 数据响应式的简单实现

实现代码

javascript 复制代码
 	      const obj = { a: 1, b: 2, c: { a: 1, b: 2, c: 3 }, d: [1, 2, 3] };

      const handler = {
        get: (target, key) => {
          console.log(`获取数据::::${key} = ${target[key]}`);
          if (typeof target[key] === "object") {
            return observe(target[key]);
          }
          return target[key]; // Reflect.get(target, key)
        },
        set: (target, key, value) => {
          console.log(`设置数据::::${key} === ${value}`);
          target[key] = value; // Reflect.set(target, key, value)
        },
      };

      const observe = (target) => {
        if (typeof target !== "object") {
          return target;
        }

        const obj = new Proxy(target, handler);
        return obj;
      };

      const proxyValue = observe(obj);

      console.log(proxyValue);

效果展示

相关推荐
NiceCloud喜云2 小时前
Opus 4.8 的 Effort Control 怎么选:Low 到 Max 五档策略
android·java·大数据·前端·c++·python·spring
wordbaby2 小时前
React Native + RNOH:跨页面数据回传的最佳实践与避坑指南
前端·react native
GISer_Jing2 小时前
Three.js着色器编译机制深度解析
javascript·webgl·着色器
丷丩2 小时前
MapLibre GL JS第22课:查看本地GeoJSON
前端·javascript·map·mapbox·maplibre gl js
油炸自行车2 小时前
Claude Code 错误:API Error: 400 Failed to deserialize the JSON body into the
开发语言·javascript·json·trae·claude code·api error 400
Front思3 小时前
AI前端工程师需要具备能力+
前端·人工智能·ai
ZC跨境爬虫5 小时前
跟着 MDN 学CSS day_29:(掌握文本与字体样式的核心艺术)
前端·css·ui·html·tensorflow
李子琪。6 小时前
网络空间安全深度实战:CSRF 漏洞原理剖析与基于 Token 的纵深防御体系构建(全栈实验报告)
前端·安全·csrf
冰暮流星6 小时前
javascript之history对象介绍
前端·笔记
IT_陈寒6 小时前
Vite热更新失灵?你可能漏了这个配置
前端·人工智能·后端