当前位置: 首页 > news >正文

vue3 reactive effect简单实现html更新 - jerry

简化版 Vue3 reactive + effect 响应式系统,能让数据变化时自动更新到 HTML😊
核心思路就是:

reactive:用 Proxy 拦截对象的 get/set。

effect:收集依赖(哪个函数用了数据),当数据变化时重新执行。

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Mini Reactive</title>
</head>
<body><p>Count: <span id="count"></span></p><button id="add">+1</button><script>// 当前活跃的副作用函数
    let activeEffect;// 简单依赖收集容器
    const deps = new Map();// reactivefunction reactive(obj) {return new Proxy(obj, {get(target, key) {if (activeEffect) {if (!deps.has(key)) deps.set(key, new Set());deps.get(key).add(activeEffect);}return target[key];},set(target, key, value) {target[key] = value;if (deps.has(key)) {deps.get(key).forEach(fn => fn());}return true;}});}// effectfunction effect(fn) {activeEffect = fn;fn();          // 立即执行一次
      activeEffect = null;}// 使用
    const state = reactive({ count: 0 });effect(() => {document.getElementById('count').innerText = state.count;});document.getElementById('add').onclick = () => state.count++;</script>
</body>
</html>

 

http://www.sczhlp.com/news/61314/

相关文章:

  • KES数据库参数 ora_input_emptystr_isnull 使用详解
  • 一个销售网站的设计 应当是要在线网站做成app
  • 网站怎样做的有吸引力电商运营培训班多少钱
  • 做网站要不要交税腾讯微信小程序公众号
  • wordpress多站点模式宝安做网站公司乐云seo
  • 网赌网站国外空间wordpress重新安装如何做
  • python入门——python数据容器
  • ABP vNext 框架在 RabbitMQ 实现下的分布式队列设计:架构与性能深度分析
  • 网站开发最新书籍运行怎么打开wordpress
  • 做下一个盗版小说网站网站建设公司 南京
  • 投资建设项目管理师报名网站wordpress还能打开吗
  • 电子商务网站建设与维护第二版建设论坛网站视频
  • 友情链接购买网站做装修的应该去哪网站找客户
  • 将自己做的网站发布到网上建一个公司网站多少钱?
  • 建筑网app东莞seo优化团队
  • 旅游攻略网站开发背景重庆公司网站seo
  • 沈丘网站建设做亚马逊跨境电商赚钱吗
  • 网站源码带数据做高仿表网站
  • 网站设置快捷方式到桌面中国工商网企业查询官网
  • 【医学、大数据征稿通知】第二届健康大数据国际学术会议(HBD 2026)
  • CRMEB用户配置指南:等级经验、默认头像、强制绑定,一步到位!
  • 2025 SWPU-NSSCTF 秋季招新入门 ezpie
  • 使用cytoscape绘制高级的网络图
  • 封丘有做网站的吗扬州做网站多少钱
  • html5 3d网站网站建设模板制作是什么意思
  • wap网站实例网站登录到wordpress
  • 陕西省建设银行分行互联网互联网站国内免费建网站
  • skopeo简单用法
  • Windows 解决PowerShell使用wget/curl出现二义性错误
  • 【ISSN号、见刊快】2025年教育研究与培训技术国际学术会议(ERTT 2025)