我正在尝试为当前使用odata v2的主要详细信息应用程序实现odata v4。
在我的应用中,我使用了一些类似的语句。
this.getOwnerComponent().getModel().metadataLoaded().then(fnSetAppNotBusy);
var oContext = this.getModel().createEntry(sPath, {
properties: {
Name: "ABC",
Age: "20"
},
success: this._fnEntityCreated.bind(this),
error: this._fnEntityCreationFailed.bind(this)
});
我在本文档Changes Compared to OData V2 Model中看到,odata v4已用“相应方法”替换了元数据加载。
我已经搜索并找到了一些,但是不确定这些方法是否正确。有人可以确认吗?
而且在oDataModel v4中找不到方法createEntry,那么如何实现与odata v2相同的逻辑?
谢谢
答案 0 :(得分:1)
嗯。此示例涵盖了创建过程:
https://sapui5.hana.ondemand.com/sdk/#/sample/sap.ui.core.tutorial.odatav4.06/code
(基本上,您是在绑定/上下文级别执行创建的)
对于onMetadataLoaded
,您可以使用getMetaModel()
,然后使用带有承诺的“适当”功能,但我将按照以下步骤进行操作:抓住您的绑定,这是您正在等待的绑定,并附加到事件dataReceived
。例如,
oTable.getBinding('items').attachEvent('dataReceived', function(){...})
API文档明确声明此事件将用于忙碌指示器: