为什么onComaMyEvent(parmformA)中的parmformA可以接收到hello的值

来源:3-5 事件绑定-内置事件绑定、自定义事件绑定

英姿飒爽豆腐块

2017-10-24

onComaMyEvent(parmformA){

      console.log('onComaMyEvent' + parmformA)

    }

在a.vue中:

methods:{

emitMyEvent(){

this.$emit('my-event',this.hello)

}

}

parmformA和,this.hello这两个参数不太能理解,尤其是parmformA是如何获取到this.hello的值的?

写回答

1回答

fishenal

2017-10-25

vm.$emit( event, […args] )
参数:
触发当前实例上的事件。附加参数都会传给监听器回调。
{string} event
[...args]
源代码

https://cn.vuejs.org/v2/api/#vm-emit


因为$emit这个方法,会把自己除第一个以外的参数,传递给回调函数,

onComaMyEvent 是 my-event事件的回调,自动包含了从事件触发方传入的参数。


你考虑一下自己写这么个东西,my-event会映射到一个callback,这个callback是函数,emit的时候执行callback的时候,通过call,apply把参数赋给callback。

1
1
英姿飒爽豆腐块
非常感谢!
2017-10-26
共1条回复

最容易上手的Vue2.0入门实战教程

快速入门Vue2.0,组件化开发一个数字产品电商平台

3966 学习 · 999 问题

查看课程