双向数据绑定原理图


用户 视图 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. 用户看到更新后的界面。
相关推荐
We་ct19 小时前
LeetCode 136. 只出现一次的数字:线性时间+常量空间最优解拆解
前端·算法·leetcode·typescript·位运算
HAPPY酷19 小时前
3A游戏图形设置终极优化指南:从通用法则到实战应用
java·前端·游戏
达达爱吃肉19 小时前
openclaw 4.2 飞书出图的bug
java·前端·数据库
lightqjx19 小时前
【前端】前端学习二之CSS
前端·css·学习·html
IT东19 小时前
Vue 多环境部署全解析:解决测试与生产一致性难题
前端·javascript·vue.js
of Watermelon League19 小时前
Redis 通用命令
前端·redis·bootstrap
chxii19 小时前
配置Nginx 的 Keepalive 提升每秒查询率(QPS)
前端·nginx
xnkyn19 小时前
frp内网穿透https访问本地服务,frpee客户端https教程
前端·后端·网络协议·http·https
布局呆星20 小时前
Vue3 计算属性|从基础缓存到可读写
前端·javascript·vue.js
ZPC82101 天前
如何创建一个单例类 (Singleton)
开发语言·前端·人工智能