Event handling HTML Vuejs中未捕获自定义事件

Event handling HTML Vuejs中未捕获自定义事件,event-handling,vuejs2,Event Handling,Vuejs2,我有一个HTML部分,如: <div v-on:customevent="test"> <button @click="launchEvent">TestEvent</button> </div> 但即使tt正确运行函数launchEvent它也不会启动函数测试,因为事件未被捕获,因为事件已正确启动,因为如果我尝试在created()中设置: 警报已正确启动,因此,是否可以直接在HTML上侦听自定义事件?第一个div中的语法不正确,“cli

我有一个HTML部分,如:

<div v-on:customevent="test">
   <button @click="launchEvent">TestEvent</button>
</div>
但即使tt正确运行函数
launchEvent
它也不会启动函数测试,因为事件未被捕获,因为事件已正确启动,因为如果我尝试在created()中设置:


警报已正确启动,因此,是否可以直接在HTML上侦听自定义事件?

第一个div中的语法不正确,“clicked”应为“click”,如中所示

<div v-on:click="test">Test Event</div>
测试事件
或者按钮上使用的简写语法

<div @click="test">Test Event</div>
测试事件
在OP指出答案无效后编辑

这些事件用于父子组件关系,如中所述

因此,在您的示例中,您应该有一个捕获事件的父组件和发射事件的子组件

你的父母看起来像:

<parent @custom-event="customEventCatched">
  <child></child>
<parent>

您的子组件的模板应该如下所示:

<button @click="$emit('custom-event')">Emit<button>
Emit

我的问题是我没有正确使用事件:

现在我的代码是:

<div>
   <MyComponent @customevent="eventCatched"></MyComponent>
</div>
在父组件中,我有一个函数eventCatched

eventCatched(){
  console.log("catched");
}
遵循这一原则


您好,谢谢,不是,名称完全是单击的,因为我需要一个自定义事件,它可以被命名为“customevent”,但我会听一个自定义事件,而不是单击事件。为了更清楚,我编辑了我的答案$emit事件通常用于与父级通信,但是如果在同一组件中有其他原因捕获它,请尝试使用
onTest:function(){…}
yes定义该方法,在这个JSFIDLE之后我发现了问题。您能在回答中发布您的固定代码吗?是的,我回答了我的问题。我的问题是$emit,这是错误的,因为起初我使用了总线常规,以及父/子组件。谢谢你的建议谢谢!我试过了,但没用。我用你的建议编辑了我的问题,在这个JSFIDLE之后我发现了问题我很糟糕,我忘了说那些事件是要通知父组件的,我正在更新答案。
<div>
   <MyComponent @customevent="eventCatched"></MyComponent>
</div>
test(){
   this.$emit("customevent");
}
eventCatched(){
  console.log("catched");
}