我们有什么办法可以重新加载整个SAPUI5应用程序吗?
当调用SAPUI5应用程序时,会调用onInit()函数,我们在此处初始化一些设置以供查看。假设某些更改(如选择主视图中的复选框)需要重置整个应用程序,我们是否可以重新加载应用程序并再次调用onInit()函数来更正我们的初始设置?是否有任何触发机制可以明确地调用onInit()函数?
提前感谢您的建议。
此致 拉加
答案 0 :(得分:2)
如果你需要重新加载或重置你的应用程序,那么我认为你的应用程序会遇到一个主要的设计缺陷......如果我是你,我肯定会首先考虑这个问题!
但是,要回答您的问题,为什么不将初始化代码移动到自己的函数中,并从onInit()
事件处理程序调用该函数以及何时需要重置应用程序?
答案 1 :(得分:1)
有时你不能直接在sapui5中使用window全局变量。
参考此页: https://help.hana.ondemand.com/webide/frameset.htm?7d0dba71a2cb45ebb1959daba904ca99.html
var myLocation = location;
myLocation.reload();
答案 2 :(得分:1)
我建议您在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');
}