1.Rxjs基础知识
- 基本概念
- Observable (可观察对象): 表示一个概念,这个概念是一个可调用的未来值或事件的集合。
- Observer (观察者): 一个回调函数的集合,它知道如何去监听由 Observable 提供的值。
- Subscription (订阅): 表示 Observable 的执行,主要用于取消 Observable 的执行。
- Operators (操作符): 采用函数式编程风格的纯函数 (pure function),使用像 map、filter、concat、flatMap 等这样的操作符来处理集合。
- Subject (主体): 相当于 EventEmitter,并且是将值或事件多路推送给多个 Observer 的唯一方式。
- Schedulers (调度器): 用来控制并发并且是中央集权的调度员,允许我们在发生计算时进行协调,例如 setTimeout 或 requestAnimationFrame 或其他。
- RXJS6的变化
- 引入变化
- 总而言之: 类似于创建之类的用的API都是从rxjs引入的,类似于map 之类的操作都是从rxjs/operators引入的
- 如果项目升级不能马上更改完全部相关代码的可安装以下东西,可以暂时不用改代码,可以一点点地改,直到改完后吧这个包卸掉,但是对于rxjs6的rename的operator无效,所以,如果有用到rename的API,必须手动修改
npm install --save rxjs-compat
- 具体例子(按钮点击事件)
<button #click type="button" (click)="clickEvent()">点击</button>
import { Component, OnInit, ViewChild, ElementRef } from '@angular/core'; import { fromEvent, from } from 'rxjs'; import { filter, map } from 'rxjs/operators'; // import "rxjs/add/Observable/fromEvent"; RXJS6之前的引入方式 // import "rxjs/add/operator/map"; RXJS6之前的引入方式 @Component({ selector: 'app-rxjs-demo', templateUrl: './rxjs-demo.component.