$emit 不添加事件 vue3

分享于2022年07月17日 events javascript vue3-openlayers vuejs3 问答
【问题标题】:$emit 不添加事件 vue3($emit does not add event vue3)
【发布时间】:2022-01-27 00:45:04
【问题描述】:

我有以下元素,它监听 drawend 事件。


drawend 被元素本身正常触发时, event 被传递给函数:

drawend(event) {
  console.log(event);
}

但是当我尝试手动触发它时, event undefined

test = ref(null);
test.$emit("drawend");

如何正确发出事件?


【解决方案1】:

当你调用这样的事件时:


其实你是在打电话:


其中 $emit 有第二个参数 - 事件对象或任何其他数据。

例如,尝试这样做,您将亲眼看到将转移到抽奖结束的内容:

test = ref(null);
test.$emit("drawend", {}); // => where {} is a custom object that is passed to the "drawend" trigger

  • 但是当手动发射drawend时,如何访问$event,就好像drawend是由元素本身触发的一样?