天天看點

SAP UI5 應用 XML 視圖的加載邏輯分析

任務:分析 SAP UI5 root XML 視圖的加載邏輯。

SAP UI5 應用 XML 視圖的加載邏輯分析

滑鼠放到 initiator 這一列上,找到調用棧的 UIComponent.js 的 createContent 方法:

SAP UI5 應用 XML 視圖的加載邏輯分析

可以看到,這裡的邏輯是,從 manifest.json 裡解析出 root view 定義,然後執行個體化該視圖。

SAP UI5 應用 XML 視圖的加載邏輯分析
SAP UI5 應用 XML 視圖的加載邏輯分析
SAP UI5 應用 XML 視圖的加載邏輯分析

我們再來看看另一個 root 視圖加載失敗的 SAP UI5 應用:

SAP UI5 應用 XML 視圖的加載邏輯分析
SAP UI5 應用 XML 視圖的加載邏輯分析

也成功解析出 root view 的名稱了:

SAP UI5 應用 XML 視圖的加載邏輯分析

使用 ajax 加載 xml view:

SAP UI5 應用 XML 視圖的加載邏輯分析
SAP UI5 應用 XML 視圖的加載邏輯分析
SAP UI5 應用 XML 視圖的加載邏輯分析

正确的 path:

SAP UI5 應用 XML 視圖的加載邏輯分析

錯誤的 path:

SAP UI5 應用 XML 視圖的加載邏輯分析
SAP UI5 應用 XML 視圖的加載邏輯分析

命中:

SAP UI5 應用 XML 視圖的加載邏輯分析

再看出問題的應用:

SAP UI5 應用 XML 視圖的加載邏輯分析

找到問題了:大小寫不比對。

SAP UI5 應用 XML 視圖的加載邏輯分析

這個 c 改成 C 後,問題消失:

SAP UI5 應用 XML 視圖的加載邏輯分析