首先在UI5應(yīng)用的manifes.json里,定義了UI5應(yīng)用的入口視圖為App: 調(diào)試器里的pending數(shù)組的兩個(gè)元素: 實(shí)際上對(duì)應(yīng)了我在App.controller.js里定義的兩個(gè)依賴: 而aModules數(shù)組里的兩個(gè)對(duì)象,就是BaseController和JSONModel模塊加載后的實(shí)例: 有經(jīng)驗(yàn)的開發(fā)人員從這些函數(shù)列表bindProperty, bindTree, dataLoaded,getJSON等就能得知這個(gè)實(shí)例是JSONModel的實(shí)現(xiàn)。 這個(gè)注釋寫的比較清楚,如果factory函數(shù)返回不為false的值,則該值需要被賦到module的exported字段去。 UI5模塊的加載器:ui5loader.js 那么我們應(yīng)用代碼的controller里到底return什么值呢?即BaseController調(diào)用extend方法后的返回值。 這個(gè)返回值在BaseController的基礎(chǔ)上,包含了我們應(yīng)用程序自定義的onInit方法。 至此,App.controller.js這個(gè)模塊就加載完成了。 ready函數(shù)的職責(zé)就是把模塊實(shí)例的state設(shè)置成Ready,settled設(shè)置成true: 要獲取更多Jerry的原創(chuàng)文章,請(qǐng)關(guān)注公眾號(hào)"汪子熙": |
|