作为我们正在开发的应用程序功能的一部分,当android警报被触发时,将出现一个带有“接受”或“拒绝”按钮的对话框。选择拒绝没有什么作用,但是选择“接受”会触发插件的回调,我已经将函数传递给了插件。此函数使离子应用程序导航到应用程序的根页面。
我遇到的问题是,当我随后导航到另一个页面时,用户选择一个值,然后将这个值显示给他们,并启用了一个按钮,值显示没有更新,按钮也没有启用。似乎什么都没有更新。
我发现,按下android设备上的后退按钮会导致页面更新,这并不理想。
此功能不需要插件的回调即可工作。
这里发生了什么事?我该怎么解决呢?
将函数传递到插件中。
alarms_plugin.onAlarmRecieved = (alarmId) =>{
this.events.publish('alarmRecieved', alarmId);
}
插件端函数
alarmRecieved: function(alarmId){
alarms_plugin.onAlarmRecieved(alarmId);
}
onAlarmRecieved: null
导航到alarmRecieved上的根页面
this.events.subscribe('alarmRecieved', (alarmId) =>{
if(alarmId != 'TIMEOUT')
this.nav.setRoot(HomePage);
});
发布于 2019-04-23 03:29:27
通过包围this.nav.setRoot(HomePage)
在this.zone.run(..)
中找到的修复方法。
据推测,在订阅事件中调用导航会引发一些问题,就像我遇到的问题一样。
https://stackoverflow.com/questions/55808245
复制