1.Vue的双向绑定(可能会有更好的解答 因为这个太常见了)
使用发布订阅模式将数据劫持和模板编译结合,实现双向绑定
1.observer 数据监听器,能对数据对象的所有属性进行监听,通过Object.defineProperty劫持. (vue3 proxy)将他们转化为getter/setter,如果发生数据变化会通知订阅者
2.compile 指令解析器 对每个元素节点进行解析 根据指令模版替换数据 以及绑定相对应的更新函数
3.watcher 观察者 作为observe和compile的桥梁 能够订阅并通过订阅者收到每个属性变动的通知,执行指令绑定的回调函数 从而更新试图
4.dep 订阅者 管理数据的订阅者 当数据发生变化之后 通知观察者来更新视图
2.v-model原理
1.本质是语法糖 等价于v-bind绑定属性的值 及v-on绑定input事件 监听input事件的输入 调用defineproperty方法 来修改属性的值
3.promise原理(高频题)
1.js异步编程的一种解决方案 表示一个异步操作的最终完成(或失
1