0
我想創建一個模型並將其設置爲組件的oninit方法中的全局模型之一。我只有一個實體類型的SAP服務器ODATA服務,並沒有相應的實體集。UI5我們可以使用服務模型中的實體類型元數據創建json模型嗎?
我的ui5項目有默認模型和component.js的manifest.json是否可以使用元數據創建模型。
我想創建一個模型並將其設置爲組件的oninit方法中的全局模型之一。我只有一個實體類型的SAP服務器ODATA服務,並沒有相應的實體集。UI5我們可以使用服務模型中的實體類型元數據創建json模型嗎?
我的ui5項目有默認模型和component.js的manifest.json是否可以使用元數據創建模型。
當初始化模式下,所有你需要的是用於初始化SAPUI5的OData模型的元數據。只要元數據在語法上有效,它不應該是一個問題。僅當您使用此模型將聚合分配給控件時,才需要使用EntitySets。
更新:
其可能獲得從模型中的元數據&創建一個新的JSON模式與它的細節。
var oModel = new sap.ui.model.odata.ODataModel("http://services.odata.org/V2/OData/OData.svc");
var metaModel = oModel.getMetaModel();
var oEntitySet = metaModel.getODataEntitySet("Products"); //For getting properties of an Entity Set
//For Entity, you may have to provide the service namespace along, in this case ODataDemo
var oEntity = metaModel.getODataEntityType("ODataDemo.Product");
的oEntity對象會是這個樣子
有了這個,你可以創建一個新的JSON模型
var oODataJSONModel = new sap.ui.model.json.JSONModel({"Selection" : oEntity.property });
這裏是一個working example
我能夠成功創建模型參考onIn中的oData服務它()方法。現在我想在oData模型中創建一個EntityType的JSON模型。我在上面的原始消息中添加了component.js onInit()的屏幕截圖,以提供清晰的圖片。 – SriniRao
所以你想從OData服務的元數據響應中創建一個模型? –
是的。那是對的。不知道這是否可能。該實體類型中有很多字段(20+)。試圖避免在本地構建JSON模型中的所有字段。 – SriniRao