when and where is getControllerName called
Created by Jerry Wang on Aug 07, 2014
- localResources
- registerModulePath
在開發(fā)js view時,需要實現一個方法getControllerName,并且正確返回該js view對應的controller name.
Callstack1:?這個方法從根源上說是在實例化JS view時被觸發(fā):
Callstack2: 以實例化時傳入的參數來調用view方法:
Callstack3: 在view方法內,調用constructor sap.ui.core.mvc.JSView創(chuàng)建一個新的JS view實例:
Callstack4:?在_initCompositeSupport內部,調用function c. this指向正在初始化的Js view實例,s是傳入的對象字面量。
Callstack5: 在function c的實現內,JS view實例是實參,傳入形參t, line 41call 形參的getControllerName方法,因而會call 到application view里實現的getController方法
待application 返回controller name存入到變量d之后,UI framework將會以該名稱創(chuàng)建一個controller instance:
Lazy load:
mymap.map傳入方法q.sap.require:
準備加載文件mymap/map.controller.js. 注意系統是怎樣將mymap.map 轉化成mymap/map.controller.js的:
這里會去取對應的controller js文件。可見如果getControllerName 返回的controller內容不正確,這里將會load不了正確的controller文件。
可以做個試驗:故意返回一個錯誤的controller name:
console里報錯說找不到對應的controller文件:
要獲取更多Jerry的原創(chuàng)文章,請關注公眾號"汪子熙":總結
以上是生活随笔為你收集整理的when and where is getControllerName called的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: where is os type and
- 下一篇: 3 起 NSO“零点击”攻击曝光,一条