有什麼方法可以重新加載整個SAPUI5應用程序?在SAPUI5中重新加載應用程序
當一個SAPUI5應用程序被調用時,onInit()函數被調用,我們正在初始化一些設置來查看這裏。假設如果某些更改(如在主視圖中選中複選框)需要重新整個應用程序,我們是否可以重新加載應用程序並再次調用onInit()函數來更正我們的初始設置?是否有任何觸發機制可以通過它明確調用onInit()函數?
非常感謝您的建議。
問候, 拉賈
有什麼方法可以重新加載整個SAPUI5應用程序?在SAPUI5中重新加載應用程序
當一個SAPUI5應用程序被調用時,onInit()函數被調用,我們正在初始化一些設置來查看這裏。假設如果某些更改(如在主視圖中選中複選框)需要重新整個應用程序,我們是否可以重新加載應用程序並再次調用onInit()函數來更正我們的初始設置?是否有任何觸發機制可以通過它明確調用onInit()函數?
非常感謝您的建議。
問候, 拉賈
如果您有需要重新加載或重置您的應用程序,那麼我會認爲你的應用程序從一個主要的設計缺陷遭受...這是絕對的東西我會去了解一下先,如果我是你!
但是,要回答您的問題,爲什麼不將初始化代碼移動到其自己的函數中,並從onInit()
事件處理函數調用該函數,以及何時需要重置您的應用程序?
謝謝你的建議。在我的應用程序中,當管理員用戶登錄時,他們可以更改其他用戶的設置,當其他用戶頁面加載時,我認爲完全刷新頁面會更好。 – Raja
有時你不能在sapui5中直接使用window全局變量。
請參閱本頁面: https://help.hana.ondemand.com/webide/frameset.htm?7d0dba71a2cb45ebb1959daba904ca99.html
var myLocation = location;
myLocation.reload();
我建議你使用某種互通的(如: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');
}
當你真的要重置你可以看看['location.reload']整個事情(https://developer.mozilla.org/en-US/docs/Web/API/Location .reload) – herrlock
非常感謝。它的工作:) – Raja
隨着數據綁定重新加載不應該是必要的。您可以根據所載入的數據更新您的網頁。格式化程序功能。 –