riot.js 2.2
根据riot.js官方网站的指南,我必须调用类似
的东西tag.trigger('event_name')
,其中tag
是某个侦听器的实例。
但是我必须做什么来触发所有标签的事件?riot.js是否有解决这个问题的任何实现,或者我必须手动解决它(通过保留所有侦听器实例)?
Riot没有实现对所有事件侦听器的引用。所以,如果你想直接对它们执行trigger
,你必须自己实现它。
但是,我建议使用另一种解决方案来通知多个事件侦听器。
如果你想让多个标签知道一个事件发生了,你可以使用一个共享的可观察对象,并在这个可观察对象上处理事件。看看这个SO问题。这样,你就不需要保留对所有事件侦听器的引用,相反,事件侦听器需要保留对单个可观察对象('event aggregator')的引用。