angular5项目积累总结消息订阅服务

Posted sybboy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了angular5项目积累总结消息订阅服务相关的知识,希望对你有一定的参考价值。

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项目积累总结消息订阅服务的主要内容,如果未能解决你的问题,请参考以下文章

angular5项目积累总结avatar组件

angular5项目积累总结表单复杂校验

angular5项目积累总结侧栏菜单 navmenu

angular5项目积累总结breadcrumb面包屑组件

angular5项目积累总结列表多选样式框

angular5项目积累总结遇到的一些问题以及解决办法