打开iOS控制中心后未执行附加到窗口事件的回调函数

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

在我的IOS离子应用程序中,我正在收听cordova插件生成的窗口事件。这是我用来监听事件并执行操作的代码。

window.addEventListener('event', (event) => {
            ...
                console.log("event received");

            doSomething();
          });
doSomething(){console.log("perform an action");}

一切正常,在打开IOS控制中心(从底部向上滑动)之前,我都能收到活动。再次关闭控制中心后,我可以看到已记录该事件(“接收到事件”),但是从未调用过函数doSomething()。有人遇到过类似情况吗?

ios cordova ionic3 cordova-plugins
1个回答
0
投票

由于事件是在angular之外生成的,因此我需要调用ngZone.run,以便让angular知道发生了什么事情,因此触发了更改。我这样想]

constructor(private zone: NgZone) {}

ngOnInit(){
        window.addEventListener('event', (event) => {

              this.ngZone.run(() => {
                do stuff;
              });
}
© www.soinside.com 2019 - 2024. All rights reserved.