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 测试数据Service.notifyObservable$.subscribe(data => {
if (data == \'refreshWebApp\' ) {
this .loadWebApp();
}
}, error => {
console.log(`subscribe error:${error}`)
})
}
?
调用:
?this测试数据Service.notifyOther(\'refreshWebApp\');
?
查看更多关于【angular5项目积累总结】消息订阅服务的详细内容...
声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://haodehen.cn/did223039