vue双向数据绑定原理

vue是一个前端js框架

vue是渐进式javascript框架,渐进式的意思就是,需要用到什么功能的时候,在生态圈里面下载什么功能模块在这里插入图片描述

MVVM模式

M:model
v:view
vM:ViewModel

为什么model曾数据变化的时候,vm就可以知道数据发生变化了呢?

vue的双向数据绑定原理
vue在创建vm的时候,会将数据配置在实例中,然后通过Object.defineProperty方法,
为数据动态添加 get 与 set 方法,当获取数据的时候,会触发对应的get方法,
当设置数据的时候,触发对应的set方法,然后当set方法触发完成的时候,内部会进一步触发watcher,
当数据改变了,试图则更新操作完毕。
也可以解释为:
vue内部通过数据劫持&发布订阅模式实现数据的双向绑定
通过Object.defineProperty方法对所有的数据进行数据劫持,就是给这些数据动态的添加了getter与setter方法。
在数据变化的时候发布消息给订阅者(Watcher),触发响应的监听回调。

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值