Skip to content

runtime-dom

runtime-dom是针对浏览器的运行时, 包括dom操作和属性操作并导出一个预设的render函数

patchEvent 中的事件换绑

patchEvent中, 初次传入事件时, 会创建一个调用函数invoker, 并绑定在元素的_vei(vue_event_invoker)属性中, 该函数有一个value属性, 作为函数调用的时候, 会执行value属性对应的函数. 初次调用会将这个invoker绑定到元素相应的事件监听器

在事件更新中, 会先判断el_vei中是否有事件名相对应的invoker, 如果有, 会将该invokervalue属性替换为新的函数, 实现事件换绑, 而不是重新绑定事件,减少性能消耗

在事件移除中, 会将该invoker_vei中删除, 并且调用removeEventListener方法移除事件