vue双向绑定原理的核心
它的实现的核心是通过Object.defineProperty(),对data的每个属性进行了get、set的拦截。
其实只要Object.defineProperty()已经可以实现双向绑定,只是这样做效率非常低。
观察者模式
它在双向绑定当中是什么角色呢?
它其实是让双向绑定更有效率
为什么?
观察者模式,它是一对多的一种模式,在vue里面,“一”是改了某一data数据,“多”是页面上凡是用了这个数据的地方,都更新。这就是页面上的很多“地方”,都观察者这个data,这就是一对多的关系,所以用观察者模式。
Object.defineProperty()
Object.defineProperty()有三个参数:
1.属性所在的对象
2.要操作的属性
3.被操作的属性的特性,参数格式是对象{},一般是两个,
get:读取属性时触发
set:写入属性时触发
原文地址:https://www.cnblogs.com/songsongblue/p/12580508.html
时间: 2024-10-10 07:44:50