溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

SAP UI5應用入口App.controller.js是如何被UI5框架加載的?

發布時間:2020-08-11 22:00:52 來源:ITPUB博客 閱讀:232 作者:i042416 欄目:web開發

首先在UI5應用的manifes.json里,定義了UI5應用的入口視圖為App:

SAP UI5應用入口App.controller.js是如何被UI5框架加載的?

調試器里的pending數組的兩個元素:

SAP UI5應用入口App.controller.js是如何被UI5框架加載的?

實際上對應了我在App.controller.js里定義的兩個依賴:

SAP UI5應用入口App.controller.js是如何被UI5框架加載的?

而aModules數組里的兩個對象,就是BaseController和JSONModel模塊加載后的實例:

SAP UI5應用入口App.controller.js是如何被UI5框架加載的?

有經驗的開發人員從這些函數列表bindProperty, bindTree, dataLoaded,getJSON等就能得知這個實例是JSONModel的實現。

SAP UI5應用入口App.controller.js是如何被UI5框架加載的?

這個注釋寫的比較清楚,如果factory函數返回不為false的值,則該值需要被賦到module的exported字段去。
from  https://github.com/amdjs/amdjs-api/blob/master/AMD.md
// "If the factory function returns a value (an object, function, or any value that coerces to true),
// then that value should be assigned as the exported value for the module."

UI5模塊的加載器:ui5loader.js

SAP UI5應用入口App.controller.js是如何被UI5框架加載的?

那么我們應用代碼的controller里到底return什么值呢?即BaseController調用extend方法后的返回值。

SAP UI5應用入口App.controller.js是如何被UI5框架加載的?

這個返回值在BaseController的基礎上,包含了我們應用程序自定義的onInit方法。

SAP UI5應用入口App.controller.js是如何被UI5框架加載的?

至此,App.controller.js這個模塊就加載完成了。
執行ready之前:

SAP UI5應用入口App.controller.js是如何被UI5框架加載的?

ready函數的職責就是把模塊實例的state設置成Ready,settled設置成true:

SAP UI5應用入口App.controller.js是如何被UI5框架加載的?

要獲取更多Jerry的原創文章,請關注公眾號"汪子熙":


SAP UI5應用入口App.controller.js是如何被UI5框架加載的?


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女