gpt4 book ai didi

javascript - 在 Siblings Vuejs 上触发事件

转载 作者:搜寻专家 更新时间:2023-10-30 22:59:53 27 4
gpt4 key购买 nike

我有一个表单,从中我对每个字段执行 foreach 并将字段传递到它们自己的组件中。我想触发一个事件,该事件传播到从字段组件触发的所有同级字段。

我知道我可以从现场组件做到这一点this.dispatch('activeField', this.field);

然后形成Form组件this.broadcast('activeField', this.field);

似乎应该有一种方法可以做到这一点,而无需涉及父级的开销。我使用的是 Vue 1.0,这个例子只是为了演示我遇到的问题。这是伪代码,所以很可能有拼写错误。

最佳答案

“成熟的”方法是使用 Vuex 或其他共享状态通量提供程序。然而,这并不是绝对必要的。

您还可以将独立的 Vue 实例用作事件总线,从字段组件发出消息并在表单组件中接收消息。

eventBusWrapper.js

import Vue from 'vue'

const EventBus = new Vue()
export default {
EventBus
}

字段组件

import EventBus from './eventBusWrapper'
EventBus.$emit('activeField', this.field)

表单组件

import EventBus from './eventBusWrapper'
EventBus.$on('activeField', (field) => {
console.log(field)
});

关于javascript - 在 Siblings Vuejs 上触发事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44976074/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com