• 【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');

  • 相关阅读:
    作业
    Java总结
    十四周总结
    十二周课程总结
    十一周总结
    自我介绍
    第二次
    第十二周作业
    第九周作业
    第十三周课程总结
  • 原文地址:https://www.cnblogs.com/sybboy/p/8386285.html
Copyright © 2020-2023  润新知