模拟removeEventListener离子3

问题描述 投票:0回答:2

在离子3 addEventListener代码:browser.addEventListener('loadstop', callback)不工作和模拟是:browser.on('loadstop').subscribe(()=>{})但我怎么能重新格式化这个代码browser.removeEventListener('loadstop', callback)到离子3?

cordova addeventlistener ionic3 inappbrowser
2个回答
1
投票

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

我找到并且更喜欢的解决方案,特别是当我在一个页面中有多个订阅并且我想在离开页面时取消订阅时,如下所示:

导入RxJs运算符:

import 'rxjs/add/operator/takeWhile';

在组件中定义变量,例如liveSubscription: boolean = true;

然后订阅如下:

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

如果您想取消订阅,只需设置this.liveSubscription = false;即可。


0
投票
import { Subscription } from 'rxjs/Subscription';
const subs:Subscription = browser.on('loadstop').subscribe(()=>{})
subs.unsubscribe()
© www.soinside.com 2019 - 2024. All rights reserved.