通过 Obejct.defineProperty 定义数据,给数据加上 geter 和 setter ,获取数据和触发 getter 设置数据触发 setter ,从而实现数据的监听 ;
通过发布订阅模式进行依赖收集与视图更新 ;
想完成这个响应式,我们需要:
-
侦测数据的变化
-
收集视图依赖了哪些数据
-
如果视图的依赖数据发生改变 ,视图自动更新
对应专业术语分别是:
-
数据劫持 / 数据代理
-
依赖收集
-
发布订阅模式
通过 Obejct.defineProperty 定义数据,给数据加上 geter 和 setter ,获取数据和触发 getter 设置数据触发 setter ,从而实现数据的监听 ;
通过发布订阅模式进行依赖收集与视图更新 ;
想完成这个响应式,我们需要:
侦测数据的变化
收集视图依赖了哪些数据
如果视图的依赖数据发生改变 ,视图自动更新
对应专业术语分别是:
数据劫持 / 数据代理
依赖收集
发布订阅模式