双向数据绑定原理图


用户 视图 ViewModel 观察者 依赖收集器 Watcher 虚拟DOM 真实DOM 输入数据 触发input事件 更新数据 通知变化 通知所有Watcher 更新虚拟DOM 与旧虚拟DOM对比 更新真实DOM 更新显示 用户看到更新后的界面 在初始化时,Observer会为每个属性创建一个Dep 初始化时,Watcher会被添加到相应的Dep中 Vue使用虚拟DOM来优化更新性能 用户 视图 ViewModel 观察者 依赖收集器 Watcher 虚拟DOM 真实DOM

  1. 用户在视图中输入数据。
  2. 视图触发ViewModel中的input事件。
  3. ViewModel通知Observer更新数据。
  4. Observer检测到数据变化,通知相应的Dep(依赖收集器)。
  5. Dep通知所有相关的Watcher。
  6. Watcher触发虚拟DOM的更新。
  7. 虚拟DOM进行内部对比,找出需要更新的部分。
  8. 虚拟DOM更新真实DOM。
  9. 真实DOM更新视图显示。
  10. 用户看到更新后的界面。
相关推荐
GISer_Jing1 小时前
React生命周期案例详解
前端·javascript·面试
知道了啊1 小时前
react生命周期
javascript·react.js·ecmascript
GISer_Jing3 小时前
React速成
前端·javascript·react.js
李元中3 小时前
2024下半年软考中级软件设计师,这100题,必做!
java·开发语言·javascript·人工智能·算法·ecmascript
爱米的前端小笔记5 小时前
前端面试:项目细节重难点问题分享(18)
前端·经验分享·面试·职场和发展·求职招聘
GoppViper5 小时前
uniapp view怎么按长度排列一行最多四个元素,并且换行后,每一行之间都有间隔
前端·uni-app·uniapp·样式·样式控制
敏编程5 小时前
网页前端开发之Javascript入门篇(9/9):对象
开发语言·javascript
吴楷鹏6 小时前
高一全栈开发;国产 Arc 浏览器;Tauri 2.0 发布 | 生活周刊 #3
前端·后端·程序员
太阳花ˉ6 小时前
html+css+js实现Collapse 折叠面板
javascript·css·html