从外部插件回调后离子内容未更新
Ionic content not updating after callback from external plugin
作为我们正在开发的应用程序功能的一部分,当触发 android 警报时,将出现一个带有 "Accept" 或 "Reject" 按钮的对话框。选择拒绝什么都不做,但选择 "Accept" 会触发插件的回调,我已将一个函数传递给该插件。此函数使离子应用程序导航到应用程序的根页面。
我遇到的问题是,当我在用户选择一个值之后导航到另一个页面,并且该值显示给他们并且启用了一个按钮时,值显示没有更新,并且该按钮未启用。似乎没有更新。
我发现按下 android 设备上的后退按钮会导致页面更新,这并不理想。
此功能无需来自插件的回调即可工作。
这里发生了什么?我该如何解决?
正在将函数传递到插件中。
alarms_plugin.onAlarmRecieved = (alarmId) =>{
this.events.publish('alarmRecieved', alarmId);
}
插件端函数
alarmRecieved: function(alarmId){
alarms_plugin.onAlarmRecieved(alarmId);
}
onAlarmRecieved: null
在收到警报时导航到根页面
this.events.subscribe('alarmRecieved', (alarmId) =>{
if(alarmId != 'TIMEOUT')
this.nav.setRoot(HomePage);
});
通过包围 this.zone.run(..)
中的 this.nav.setRoot(HomePage)
找到的修复。
据说在订阅事件中调用导航会导致像我遇到的问题。
作为我们正在开发的应用程序功能的一部分,当触发 android 警报时,将出现一个带有 "Accept" 或 "Reject" 按钮的对话框。选择拒绝什么都不做,但选择 "Accept" 会触发插件的回调,我已将一个函数传递给该插件。此函数使离子应用程序导航到应用程序的根页面。
我遇到的问题是,当我在用户选择一个值之后导航到另一个页面,并且该值显示给他们并且启用了一个按钮时,值显示没有更新,并且该按钮未启用。似乎没有更新。
我发现按下 android 设备上的后退按钮会导致页面更新,这并不理想。
此功能无需来自插件的回调即可工作。
这里发生了什么?我该如何解决?
正在将函数传递到插件中。
alarms_plugin.onAlarmRecieved = (alarmId) =>{
this.events.publish('alarmRecieved', alarmId);
}
插件端函数
alarmRecieved: function(alarmId){
alarms_plugin.onAlarmRecieved(alarmId);
}
onAlarmRecieved: null
在收到警报时导航到根页面
this.events.subscribe('alarmRecieved', (alarmId) =>{
if(alarmId != 'TIMEOUT')
this.nav.setRoot(HomePage);
});
通过包围 this.zone.run(..)
中的 this.nav.setRoot(HomePage)
找到的修复。
据说在订阅事件中调用导航会导致像我遇到的问题。