首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在Vue中将事件发送到父布局槽?

如何在Vue中将事件发送到父布局槽?
EN

Stack Overflow用户
提问于 2020-01-10 20:18:20
回答 1查看 626关注 0票数 0

我想知道如何获取在<slot/>组件中触发的事件。

这是我的组件

代码语言:javascript
运行
复制
<template>
  <button @click"$emit('event')">Submit</button>
</template>

它会发出一个我想要在父布局的插槽中捕获的事件。

代码语言:javascript
运行
复制
<template>
  <slot @event="doThis"/>
</template>

我如何实现这一点。我的一些阅读将我带到了作用域位置,但我不是100%确定。

EN

回答 1

Stack Overflow用户

发布于 2020-01-10 20:40:46

使用事件总线闪存事件,以便任何组件在侦听时都可以捕获该事件,如下所示:

在event-bus.js中

代码语言:javascript
运行
复制
import Vue from 'vue';
export const EventBus = new Vue();

在父组件和子组件中导入事件总线文件:从‘./ event -bus.js’导入{ EventBus };

在您的父组件中,侦听事件:

代码语言:javascript
运行
复制
methods:
{
    const clickHandler = function(params) { /*Do whatever */ }
}
mounted()
{
   EventBus.$on('event', clickHandler);
}

在您的子组件中,您可以触发事件,如下所示:

代码语言:javascript
运行
复制
<template>
  <button @click="EventBus.$emit('event', params)">Submit</button>
</template>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59681538

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档