作为我们正在开发的应用程序功能的一部分,当触发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);
});
答案 0 :(得分:0)
通过将this.nav.setRoot(HomePage)
中的this.zone.run(..)
括起来来修复。
据说在订阅事件中调用导航会导致我遇到的问题。