模拟 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;
。
在 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;
。