gpt4 book ai didi

javascript - riot.js:监听另一个元素的事件

转载 作者:行者123 更新时间:2023-11-30 12:11:21 24 4
gpt4 key购买 nike

假设我有两个自定义元素:a 和 b。a 包含另一个可以单击的元素,我想在发生这种情况时触发自定义事件。然后该自定义事件应该被元素 b 捕获。

我可以在元素 a 中使用 this.trigger,但是元素 b 中的 this.on 没有捕获事件(这似乎合乎逻辑,因为它没有在 b 上触发)。

所以:我可以在元素 b 中检索元素 a 以在元素 b 中执行类似“elementA.on()”的操作吗?

基本上,我想要像 RiotControl 这样的功能,但不存储数据,因为我只想在我的用例中触发一个模式而不存储任何东西。

我可能会退回到 jQuery 并触发和监听文档上的事件,但这真的是个好方法吗?

最佳答案

您可以创建一个共享的可观察对象,例如:

var eventBus = riot.observable();

当你挂载你的元素时,你可以将它作为一个选项传递:

riot.mount('elementa', { eventBus: eventBus })
riot.mount('elementb', { eventBus: eventBus })

然后他们可以监听并触发同一个 observable:

this.opts.eventBus.trigger('openModal', ...maybeSomeOptions);
this.opts.eventBus.on('openModal', function(...maybeSomeOptions) {});

免责声明:riotjs 对我来说是个新手

关于javascript - riot.js:监听另一个元素的事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33703754/

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