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

62 VueComponent watcher 的实现

 前言 

这是最近的碰到的那个 和响应式相关的问题 特定的操作之后响应式对象不“响应“了 引起的一系列的文章 

主要记录的是 vue 的相关实现机制 

呵呵 理解本文需要 vue 的使用基础, js 的使用基础 

 

 

 测试用例

用例如下, 我们这里核心关注 watch.counter 的处理流程的实现 

 

 

问题的调试

在初始化 VueComponent 的时候, 根据用户配置的 watch [从 HelloWorld.vue 中解析的]

来创建 watcher, 创建关联 什么的

 

 

初始化 Watcher 的时候 将其添加到关联的 VueComponent 上面 

 

 

注册当前 watcher 需要关注的相关其他变量 [其他的诸如 computed 变量是类似的道理]

 

为 _data.counter 添加 watcher, 这里 Dep.target 为新建的 Watcher[也就是根据 HelloWorld.watch 创建的 Watcher]

在 _data.counter 上面增加这个 Watcher, 当 _data.counter 更新的时候 处理这个 watcher 相关的业务, 进而 就实现了 watcher 的相关业务 

 

 

当 _data.counter 更新的时候, _data.counter.Dep 来通知所有的 Watcher 

其中之一就是 根据 HelloWorld.watch 创建的 Watcher 

 

 

如下就是 异步处理 HelloWorld.watch 创建的 Watcher 的情况 

 

 

 

 

 

http://www.dtcms.com/a/553534.html

相关文章:

  • Ethernaut Level 15: Naught Coin - ERC20 approve/transferFrom漏洞
  • PySide6 实现win10 手动与自动切换主题 借助系统托盘
  • 上传项目至Github与从Github克隆项目
  • 做个人网站的步骤上海建筑设计公司平台
  • 如何使用一个模型完成多种交通任务?请看此文
  • 第N2周:构建词典
  • 德意志飞机D328eco携手ADS:CMS+IETM双引擎,点燃通用航空效率革命
  • c#获取当前程序所在目录避坑
  • day59-Shell编程(第五部分)
  • 网站建设客户需求分析调查表江苏国泰做的网站案例
  • VUE3+element plus el-table上下拖拽
  • 【模拟面试|豆包模拟面试-1 Java基础】
  • AI优化亚马逊广告:DeepBI智能化托管让广告运营从负担变轻松,ACOS优化至23%以下
  • 关键词解释:梯度消失(Vanishing Gradient)与 梯度爆炸(Exploding Gradient)
  • 天津网站建设如何最近火爆的新闻
  • Maven内核探秘:从启动到构建全流程
  • CNCC 2025|开源AI基础设施论坛成功举办
  • 开源可信MCP,AICC机密计算新升级!
  • 混元图像3.0开源原生多模态生图新篇章
  • 环境搭建与第一个程序:Hello, Rust!
  • [论文阅读] AI | 大语言模型服务系统服务级目标和系统级指标优化研究
  • 帝国网站管理系统视频教程asp网站开发
  • 自己做的网站申请软著物联网是干嘛的
  • 企业形象破局指南——缺乏专业线上展示?官网SEO优化重构品牌信任
  • webgl 变换矩阵:旋转、平移、缩放
  • 怎么做婚介网站襄阳php网站开发
  • 网站建设规划书案例济南做网站互联网公司有哪些
  • float为什么会丢失精度?
  • 网站产品后台界面怎么做微信朋友圈广告推广
  • 香港科技大学广州|可持续能源与环境学域博士招生宣讲会—吉林大学专场