每日总结
了解到vue双向绑定的原理
实现过程
- 1.实现一个监听器Observer,用来劫持并监听所有属性,如果有变动的,就通知订阅者。(了解)
- 2.实现一个订阅者Watcher,可以收到属性的变化通知并执行相应的函数,从而更新视图。(了解)
- 3.实现一个解析器Compile,可以扫描和解析每个节点的相关指令,并根据初始化模板数据以及初始化相应的订阅器。(暂不了解)
主要实现方式: Object.defineProperty
概念:
Object.defineProperty直接在一个对象上定义一个新属性,或者修改一个对象的现有属性, 并返回这个对象
用法:
Object.defineProperty(data, key, {
enumerable: true,
configurable: true,
get: function(){
},
set: function(){
}
})