code
import { Injectable } from \'@angular/core\' ; import { Subject } from \'rxjs/Subject\' ; @Injectable() export class CommonService { private notify = new Subject<any> (); /* * * Observable string streams */ notifyObservable$ = this .notify.asObservable(); constructor() { } public notifyOther(data: any) { if (data) { this .notify.next(data); } } }
项目示例
表单提交后更新其他组件数据列表
定义:
constructor( private router: Router, private actRouter: ActivatedRoute, private appStoreService: AppStoreService, private comService: CommonService) { this .subscribeUpdate(comService); } subscribeUpdate(comService: CommonService) { this .comService.notifyObservable$.subscribe(data => { if (data == \'refreshWebApp\' ) { this .loadWebApp(); } }, error => { console.log(`subscribe error:${error}`) }) }
调用:
this.comService.notifyOther(\'refreshWebApp\');
查看更多关于【angular5项目积累总结】消息订阅服务的详细内容...
声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://haodehen.cn/did223039