事件处理机制
2019-10-16 本文已影响0人
key君
原生事件监听:
src/platforms/web/runtime/modules/event.js
patch->createElm->invokeCreateHooks->
updateDOMListeners-> updateListeners-> add->给元素addEventListener
自定义事件监听:
组件上自定义的事件监听 其实是里面元素的原生监听
src/core/instance/init.js
_init()->initEvents()
vm.$options._parentListeners 根组件没有监听器 子组件的监听器就是父级组件,_parentListeners实际上是parentVode.componentOptions.listeners
updatComponentListeners()
updateListeners() -> target.$on()