Ionic 4 Events 换 RxJS

本週为了 icon 把 Ionic 4 升级到 5 了,有点吃饱了没事干,升级之后才想到 Events 淘汰了,评估过后决定改用 RxJS 的 Subject 来替换原本的功能,底下就简单纪录一下相关写法。

先看看原本 Events 的写法,订阅:

constructor(    private event: Events,) {    this.event.subscribe('event:', (data) => {        console.log(data)    });}

发送:

this.event.publish('event:', 'gogo');

现在要换成 RxJS,先建立 service:

import {Injectable} from '@angular/core';import {Subject} from 'rxjs';@Injectable({    providedIn: 'root'})export class Service {    result = new Subject();    constructor() {    }    receive(result) {        this.result.next(result);    }}

订阅:

this.service.result.subscribe((res: any) => {    console.log(res);});

发送:

save(data) {    this.service.receive(data);}

RxJS 的 Subject 还有其他几种,BehaviorSubject、ReplaySubject、AsyncSubject,大家可以在 Google 看看相关差异,找到适合自己情境的用法。

RxJS 官网连结


关于作者: 网站小编

码农网专注IT技术教程资源分享平台,学习资源下载网站,58码农网包含计算机技术、网站程序源码下载、编程技术论坛、互联网资源下载等产品服务,提供原创、优质、完整内容的专业码农交流分享平台。

热门文章