Aurelia 应用中的事件聚合器使用与组件扩展
1. 事件聚合器概述
事件聚合器模式在处理复杂对象图的对象间通信时非常有用。通常,对象图中的每个对象若要相互通信,需要持有其他对象的引用,这会增加系统的耦合度。而事件聚合器模式通过将这些连接集中在一个事件聚合器对象中,能大大降低系统的耦合度。
在 Aurelia 应用中,其组件层次结构与事件聚合器的使用场景类似,因此事件聚合器也是降低 Aurelia 应用组件间耦合度的理想解决方案。Aurelia 核心团队实现了这个模式,将其集成在名为 Aurelia Event Aggregator 的框架模块中。
2. Aurelia 事件聚合器
Aurelia 事件聚合器是 Aurelia 框架中的一个模块,它实现了事件聚合器模式,用于在组件间进行通信,且不会引入组件间的耦合。其 API 很简单,只有三个公共方法:
- publish(event, data [optional]) :由事件源对象(发布者)使用,用于通知订阅者有事件发生。 event 参数是必需的,可以是事件的字符串名称(如 'remove-book' ,通常称为通道)或消息类型; data 参数是可选的,可为任何类型。
- subscribe(event, callbackFunction) :需要对事件执行某种操作的对象或组件使用此方法。 event 参数应与发布者引发的相应事件的通道名称或消息类型相同; callbackFunctio
超级会员免费看
订阅专栏 解锁全文
36

被折叠的 条评论
为什么被折叠?



