原生ng广播 Subject 观察者模式

service

import { Subject } from 'rxjs';

import { Observable } from 'rxjs';

export class MessageService {

    private subject =newSubject();

    send(message: any) {

        this.subject.next(message);

    }

    get(): Observable {

        returnthis.subject.asObservable();

    }

}


组件1 发布

import { Component, OnInit } from '@angular/core';

import { Subject } from 'rxjs/Subject';

import { MessageService } from '../../service/message.service';

@Component({

  selector: 'app-video-demo-home',

  templateUrl: './video-demo-home.component.html',

  styleUrls: ['./video-demo-home.component.sass']

})

export class VideoDemoHomeComponent implements OnInit {

  private _clickPoint: Subject =newSubject();

  public name = 'www';

  constructor(public srv: MessageService) { }

  ngOnInit() {

  }

  clickBtn() {

    this.srv.send(this.name);

  }

}


组件2 订阅

import { Component, OnInit } from '@angular/core';

import { MessageService } from '../../service/message.service';

@Component({

  selector: 'app-subscribe-home',

  templateUrl: './subscribe-home.component.html',

  styleUrls: ['./subscribe-home.component.sass']

})

export class SubscribeHomeComponent implements OnInit {

  constructor(public srv: MessageService) { }

  public message = '';

  ngOnInit() {

    this.srv.get().subscribe((result) => {

      console.log('111111111111111111');

      this.message = result;

      console.log(this.message);

    });

  }

}

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 创建一个 HeroService,应用中的所有类都可以使用它来获取英雄列表。 不要使用 new 关键字来创建此服务...
    裘马轻狂大帅阅读 2,490评论 0 1
  • Angular7入门总结篇 6 2019.01.08 19:34:05 字数 4854阅读 46093 发表于 h...
    痞_4fc8阅读 5,410评论 0 5
  • 英雄指南的HeroesComponent目前获取和显示的都是模拟数据。 本节课的重构完成之后,HeroesComp...
    HoneyMoose阅读 4,466评论 0 0
  • 一、安装最新版本的 nodejs 注意:请先在终端/控制台窗口中运行命令 node -v 和 npm -v, 来验...
    liuguangsen阅读 6,602评论 0 1
  • import { Component, OnInit } from '@angular/core'; import...
    lu2294阅读 4,280评论 0 1

友情链接更多精彩内容