0

riot.js 2.2

通过 riot.js 官方网站上的指南,我必须调用类似

tag.trigger('event_name')

其中tag是某个监听器的实例。

但是我必须怎么做才能触发所有标签的事件?riot.js 是否有针对此问题的任何实现,或者我必须手动解决它(通过保留所有侦听器实例)?

4

1 回答 1

2

Riot 没有实现对所有事件监听器的引用。所以,如果你想trigger直接对它们执行,你必须自己实现它。

但是,我建议使用另一种解决方案来通知多个事件侦听器。

如果你想让多个标签知道一个事件已经发生,你可以使用一个共享的 observable 并处理这个 observable 上的事件。请参阅这个 SO 问题。这样,您不需要保留对所有事件侦听器的引用,相反,事件侦听器需要保留对单个 observable(“事件聚合器”)的引用。

你也可以尝试将 RiotControl作为一个共享的 observable。

于 2015-08-25T20:54:02.770 回答