关于如何使用rxjs在angular2中实现消息服务的建议
我的目标是:关于如何使用rxjs在angular2中实现消息服务的建议,angular,rxjs,Angular,Rxjs,我的目标是: 允许在单个应用程序中管理应用程序的所有消息 组成部分 到目前为止,我得出的结论是: MessageService:Singleton。任何想要发送消息的人都可以在这里调用addMsg 信息是主体可观察的 newMessages:Subject=newsubject() MessageViewer:侦听MessageService并显示消息的组件 constructor(private\u msgService:MessageService){ 这是。msgService
- 允许在单个应用程序中管理应用程序的所有消息 组成部分李>
- MessageService:Singleton。任何想要发送消息的人都可以在这里调用addMsg
newMessages:Subject=newsubject()代码>
- MessageViewer:侦听MessageService并显示消息的组件
constructor(private\u msgService:MessageService){
这是。msgService.getMessages().subscribe(
data=>this.showMsg(数据)
)
}
这里有完整的演示。
这是一个很好的实现还是有更好的方法来实现这一点?看起来不错;-)其余部分是注册此服务的位置。如果是针对整个应用程序,则是在引导时或在主组件中…另请参阅,尤其是个人,我可能更喜欢使用与消息总线相对应的可观察对象。这就是我很久以前使用KnockoutJS实现事件驱动架构和中介功能的方式。我认为,可观察性更高,更容易在状态机中实现;在中介器上,您所要做的就是提供.publish
和.subscribe
方法,这些方法实现了自己的消息过滤——您希望消息总线使用这些方法;不过,我还是拿出了一些头痛和陈词滥调。我会对你竖起大拇指,因为你是为数不多的几个支持这个的人之一:)。