(一)Angular5 高级教程--基于 RxJS Subject的组件间通信
来源:互联网 发布:java -jar -d 编辑:程序博客网 时间:2024/04/30 18:15
message.service.ts
import { Injectable } from '@angular/core';import {Observable} from 'rxjs/Observable';import { Subject } from 'rxjs/Subject';@Injectable()export class MessageService { private subject = new Subject<any>(); sendMessage(message: string) { this.subject.next({ text: message }); } clearMessage() { this.subject.next(); } getMessage(): Observable<any> { return this.subject.asObservable(); }}
home.component.ts
import { Component } from '@angular/core';import { MessageService } from './message.service';@Component({ selector: 'exe-home', template: ` <div> <h1>Home</h1> <button (click)="sendMessage()">Send Message</button> <button (click)="clearMessage()">Clear Message</button> </div>`})export class HomeComponent { constructor(private messageService: MessageService) {} sendMessage(): void { this.messageService.sendMessage('Message from Home Component to App Component!'); } clearMessage(): void { this.messageService.clearMessage(); }}
app.component.ts
import { Component, OnDestroy } from '@angular/core';import { Subscription } from 'rxjs/Subscription';import { MessageService } from './message.service';@Component({ selector: 'my-app', template: ` <div> <div *ngIf="message">{{message.text}}</div> <exe-home></exe-home> </div> `})export class AppComponent implements OnDestroy { message: any; subscription: Subscription; constructor(private messageService: MessageService) { this.subscription = this.messageService .getMessage().subscribe( message => { this.message = message; }); } ngOnDestroy() { this.subscription.unsubscribe(); }}
阅读全文
0 0
- (一)Angular5 高级教程--基于 RxJS Subject的组件间通信
- RxJS异步通信之Subject和BehaviorSubject
- RxJS 核心概念之Subject
- RxJS 核心概念之Subject
- 通俗理解RxJS(一)
- Angular2学习-RxJS核心概念之Subject
- 使用Rxjs中的subject发射数据
- SQL的高级教程(一)
- Android高级界面组件的学习(一)
- ReactNative高级---JavaScript与Native之间的通信(一)
- mysql高级教程(一)
- RxJS简明教程
- Rxjs系列教程目录
- 高级编程之进程间通信(一)
- RxJS Subject 主题 EventEmitter对象 组播Multicast
- RxJS入门(2)---Observable的介绍
- Android近场通信---高级NFC(一)
- Android近场通信---高级NFC(一)
- tensorflow 报错 libcusolver.so.8.0: cannot open shared object file: No such file or directory
- mybatis generator 使用文档
- each的用法
- C++中substr函数的用法
- An error occurred while collecting items to be installed
- (一)Angular5 高级教程--基于 RxJS Subject的组件间通信
- JS中split用法和数组中元素的删除
- 数据结构--栈
- 【头条】招商局又一次站在了混合云实践的前列
- cmake实践
- Tomcat内存释放不了、Tomcat内存溢出原因、Tomcat内存管理[整理]
- 学习java你需要知道的2个行情!
- ZooKeeper异常之集群中其他机器Leader选举端口未开。
- redis、memcache和mongodb各自的优缺点