双向数据绑定原理图


用户 视图 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. 用户看到更新后的界面。
相关推荐
子醉13 分钟前
推荐一种适合前端开发使用的解决本地跨域问题的办法
前端
Niyy_21 分钟前
前端一个工程构建多个项目,记录一次工程搭建
前端·javascript
xiangxiongfly9151 小时前
CSS link标签
前端·css
快乐非自愿1 小时前
常用设计模式:工厂方法模式
javascript·设计模式·工厂方法模式
岁月宁静2 小时前
AI 多模态全栈应用项目描述
前端·vue.js·node.js
十年磨一剑~2 小时前
html+js开发一个测试工具
javascript·css·html
nn_(nana)3 小时前
修改文件权限--- chmod ,vi/vim,查看文件内容,yum-软件包管理器,systemctl管理系统服务
前端
汪汪队立大功1233 小时前
JavaScript是怎么和html元素关联起来的?
开发语言·javascript·html
烛阴3 小时前
从零开始掌握C#核心:变量与数据类型
前端·c#