首先在UI5應用的manifes.json里,定義了UI5應用的入口視圖為App:
調試器里的pending數組的兩個元素:
實際上對應了我在App.controller.js里定義的兩個依賴:
而aModules數組里的兩個對象,就是BaseController和JSONModel模塊加載后的實例:
有經驗的開發人員從這些函數列表bindProperty, bindTree, dataLoaded,getJSON等就能得知這個實例是JSONModel的實現。
這個注釋寫的比較清楚,如果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
那么我們應用代碼的controller里到底return什么值呢?即BaseController調用extend方法后的返回值。
這個返回值在BaseController的基礎上,包含了我們應用程序自定義的onInit方法。
至此,App.controller.js這個模塊就加載完成了。
執行ready之前:
ready函數的職責就是把模塊實例的state設置成Ready,settled設置成true:
要獲取更多Jerry的原創文章,請關注公眾號"汪子熙":
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。