从外部插件回调后,离子内容未更新

时间:2019-04-23 09:33:50

标签: callback ionic3 components updating

作为我们正在开发的应用程序功能的一部分,当触发android警报时,将出现一个带有“接受”或“拒绝”按钮的对话框。选择拒绝没有任何作用,但是选择“接受”会触发插件的回调,我已将函数传递给该插件。此功能使Ionic应用程序导航到应用程序的根页面。

我遇到的问题是,当我随后导航到另一个页面时,用户在该页面上选择了一个值,并向他们显示该值并启用了一个按钮,该值的​​显示未更新,并且该按钮没有启用。似乎什么都没有更新。

我发现在Android设备上按下后退按钮会导致页面更新,这是不理想的。

此功能无需插件的回调即可使用。

这是怎么回事?以及我该如何解决?

将函数传递给插件。

alarms_plugin.onAlarmRecieved = (alarmId) =>{
    this.events.publish('alarmRecieved', alarmId);
}

插件侧功能

alarmRecieved: function(alarmId){
   alarms_plugin.onAlarmRecieved(alarmId);
}

onAlarmRecieved: null

在alarmReceiveved上导航到根页面

this.events.subscribe('alarmRecieved', (alarmId) =>{
   if(alarmId != 'TIMEOUT')
      this.nav.setRoot(HomePage);
});

1 个答案:

答案 0 :(得分:0)

通过将this.nav.setRoot(HomePage)中的this.zone.run(..)括起来来修复。

据说在订阅事件中调用导航会导致我遇到的问题。