事件派发$emit

来源:8-9 event(8)

聂成阳

2020-04-14

老师,我想问一下,$emit向自身派发一个事件,事件的回调函数在父组件中是怎么访问到的呢? 是因为子组件在父组件的关联关系找到的吗?

写回答

2回答

前端工程师666777888

2021-04-20

通过vm.$event[事件名] = 事件函数;建立的关系

vm是子组件的实例。而事件名和事件函数都是保存在占位父组件vnode中的

纽带是:占位vnode

0
0

ustbhuangyi

2020-04-14

举个例子:在父组件 B 中引入了一个子组件 A,子组件 A 往自身派发一个 click 事件,那么在 B 组件的模板中,你会这么写

<a @click="onClick"></a>

export default {
  methods: {
    onClick() {
      // xxxx
    }
  }
}

这样就建立了通讯

0
0

Vue.js 源码深入解析 深入理解Vue实现原理

全方位讲解 Vue.js 源码,进阶高级工程师

4984 学习 · 1037 问题

查看课程