有什么办法可以重新加载整个SAPUI5应用程序吗?
调用SAPUI5应用程序时,会调用onInit()函数,我们正在初始化视图的一些设置。假设某些更改(如选择主视图中的复选框)需要重置整个应用程序,我们是否可以重新加载应用程序并再次调用onInit()函数来更正我们的初始设置?是否有任何触发机制可以通过它明确调用onInit()函数?
提前感谢您的建议。
问候,拉贾
如果你需要重新加载或重置你的应用程序,那么我认为你的应用程序会遇到一个主要的设计缺陷......如果我是你,我肯定会首先考虑这个问题!
但是,要回答您的问题,为什么不将初始化代码移动到自己的函数中,并从onInit()
事件处理程序调用该函数,并在需要重置应用程序时?
有时你不能直接在sapui5中使用window全局变量。
参考此页:https://help.hana.ondemand.com/webide/frameset.htm?7d0dba71a2cb45ebb1959daba904ca99.html
var myLocation = location;
myLocation.reload();
我建议你在Controller实例之间使用某种相互通信(例如:EventBus),从主视图通知你的控制器重新运行初始化逻辑,如下所示:
onInit
上调用此方法onInit
订阅重新初始化事件Controller.js
:
function onInit() {
this._initialize();
EventBus.subscribe('reinitialize', this._initialize);
}
funcion _initialize() {
// init logic
}
MasterController.js
:
function onSelectionChange() {
EventBus.publish('reinitialize');
}