Vue响应式原理

Vue响应式原理模拟
在这里插入图片描述

Vue的功能
1.记录传入的选项,设置 d a t a / data/ data/el
2.负责把 data 中的属性注入到 Vue 实例,并且转换成 getter/setter
3.observer 监听 data 中所有属性的变化
4.负责调用 compiler 解析指令/插值表达式

Observer的功能
1.数据劫持
负责把 data 中的成员转换成 getter/setter 负责把多层属性转换成 getter/setter 如果给属性赋值为新对象,把新对象的成员设置为getter/setter
2.添加 Dep 和 Watcher 的依赖关系
3.数据变化发送通知

Compile的功能
1.负责编译模板,解析指令/插值表达式
2.负责页面的首次渲染,当数据变化后重新渲染视图
compileText()负责编译差值表达式
compileElement()负责编译元素指令

Dep的功能
1.收集依赖,添加观察者(watcher)
2.通知所有观察者

Watcher的功能

  1. 当数据变化触发依赖, dep 通知所有的 Watcher 实例更新视图
  2. 自身实例化的时候往 dep 对象中添加自己
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值