模拟 removeEventListener ionic 3

Analog removeEventListener ionic 3

在 ionic 3 addEventListener 代码中:browser.addEventListener('loadstop', callback) 不工作,模拟是:browser.on('loadstop').subscribe(()=>{}) 但是我如何将此代码 browser.removeEventListener('loadstop', callback) 重新格式化为 ionic 3?

import { Subscription } from 'rxjs/Subscription';
const subs:Subscription = browser.on('loadstop').subscribe(()=>{})
subs.unsubscribe()

我在尝试订阅推送通知事件时遇到了同样的问题,不幸的是在我的情况下 unsubscribe() 方法不起作用。

我找到并喜欢的解决方案如下:

当我在一个页面中有多个订阅并且我想在离开页面时取消订阅时,尤其如此:

导入 RxJs 运算符:

import 'rxjs/add/operator/takeWhile';

定义一个变量,比如在你的组件中liveSubscription: boolean = true;

然后像这样订阅:

browser.on('loadstop')
.takeWhile(() => this.liveSubscription)
.subscribe(() => {})

当您想退订时,只需设置this.liveSubscription = false;