首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >Vue 3:如何发出一个具有多个级别的参数的事件?

Vue 3:如何发出一个具有多个级别的参数的事件?
EN

Stack Overflow用户
提问于 2022-01-18 05:28:58
回答 1查看 2.1K关注 0票数 1

备注A:对于某些人来说,这听起来可能是重复的,但是到目前为止,我发现的所有其他问题要么是指Vue 2,要么是没有参数的事件。如果我错了,请纠正我。

注释B:这个问题可能看起来像一个特性请求,但它不是。我刚刚开始使用Vue,我不知道如何正确地解决这个问题。

My component被发现从App.vue到的两层以下。它运行以下代码:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
this.$emit('my-event', parameter);

App.vue (两个级别上)用以下代码捕获事件:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
@my-event="myFunction"

但是为了使事件到达App.vue,它首先必须通过它自己上面的组件,如下所示:

子组件>父组件> App.vue

父组件可以捕获事件并将其传递给App.vue,如下所示:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
@my-event="$emit('my-event')"

,但随后忽略了参数.。

解决该问题的另一种方法是(在父组件中):

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
@my-event="myEvent"

myEvent(parameter) {
  this.$emit('my-event', parameter);
}

但我正在寻找一种更简单、更直观的方式来放弃这一事件。可能是这样的(在父组件中):

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
@my-event="$emit('my-event', parameter)"

这在Vue 3中有可能吗?或者类似的东西?什么是最好的方式来发出一个事件的参数多个级别?任何帮助都将不胜感激。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-01-18 07:26:40

Vue提供了一个名为$event的特殊变量,您可以在模板中使用它来获取事件参数。因此,在您的示例中,您可以将事件处理程序编写为

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
@my-event="$emit('my-event',$event)
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70756371

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文