【八股系列】vue的双向绑定原理是什么?

Vue 的双向绑定是通过数据劫持发布-订阅模式实现的。
Vue中,每一个组件都有一个对应的Watcher实例,它会观察组件中所有需要被双向绑定 的属性。当属性的值发生变化 时,Watcher会通知相应的Dep对象,Dep对象会通知所有订阅 它的Watcher实例,然后触发组件的重新渲染
在组件的模板中,Vue会将需要被双向绑定的属性和组件的data属性建立起一个响应式的关系。当用户在模板中修改了属性的值 时,Vue触发 相应的setter函数,setter函数会通知Dep对象,Dep对象会通知所有订阅它的Watcher实例,然后触发组件的重新渲染。

下面的流程图可以帮助理解Vue的双向绑定原理:
data Observer Dep Watcher Component Render Template User Input Setter Dep Watcher Component Render

相关推荐
星栈2 小时前
Dioxus 接数据库最容易写歪的 3 个地方:sqlx + SQLite 怎么接才顺
前端·rust·前端框架
晴虹2 小时前
vue3-scroll-more:横向滚动条-元素或页签过多滚动显示处理的组件
前端·vue.js
代码搬运媛2 小时前
Claude 全栈开发专用 Rules 配置
前端
PedroQue992 小时前
uni-router v1.7.0重磅更新:守卫重定向自由掌控
前端·uni-app
Forever7_2 小时前
尤雨溪转发:Vue-tui 0.1 发布!Vue 终于杀进终端!
vue.js
逸铭2 小时前
Day 4:登录与 Token——桌面端怎么存密钥
前端·客户端
默_笙2 小时前
🍞 我用 CSS 画了一个会转的 3D 立方体,同事以为我学了 Three.js(这节课真的很神奇,我很喜欢)
javascript
dkbnull2 小时前
Vue 虚拟 DOM Diff 算法与 key 机制原理
vue.js
溯朢2 小时前
TokUI 流式渲染的 SSE 全链路拆解
前端
京东云开发者2 小时前
京东 Oxygen xLLM 大模型推理引擎正式捐赠开放原子开源基金会,共建国产 AI Infra 生态
前端