Vue.js内部有这么一段代码,定义了Vue构造函数,然后调用initMixin、stateMixin、eventsMixin、lifecycleMixin、renderMixin,Vue构造函数Pass这5个函数作为参数。这5个函数的作用是将方法挂载到Vue的原型上。当函数initMixin被调用时,_init方法会被添加到Vue构造函数的prototype属性中,在执行newVue()时会调用_init方法。好了,进入本文标题。与事件相关的实例方法有4个,分别是vm.$on、vm.$emit、vm.$once、vm.$off;这四个方法在eventsMixin中洪入Vue构造函数和原型属性。当调用eventsMixin时,它会在Vue构造函数的原型属性中添加4个实例方法。下面将介绍这四个方法的用法:监听当前实例上的自定义事件,事件可以通过vm.$emit触发,回调函数会接收所有传入事件触发的函数的额外参数原理:只需要注册事件时收集的回调函数,在事件触发时依次调用收集到的回调函数即可。代码如下Vue.prototype.$on=function(event,fn){varvm=this;如果(Array.isArray(event)){for(vari=0,l=event.length;i
