odata - 从 odata v2 迁移到 v4 时缺少方法
问题描述
我正在尝试为我当前使用 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)
});
我在本文档中看到与 OData V2 模型相比的变化,odata v4 已将 metadataLoaded 替换为“相应的方法”。
我已经搜索并找到了一些,但不确定这些方法是否正确。有人可以确认吗?
而且我在 oDataModel v4 中找不到方法 createEntry,那么如何实现与 odata v2 相同的逻辑呢?
谢谢
解决方案
唔。此示例涵盖了创建过程:
https://sapui5.hana.ondemand.com/sdk/#/sample/sap.ui.core.tutorial.odatav4.06/code
(基本上,您在绑定/上下文级别执行创建)
至于onMetadataLoaded
,您可以使用getMetaModel()
然后使用带有承诺的“适当”功能,但我会这样做:抓住您的绑定,这是您正在等待的绑定,并附加到事件dataReceived
。例如,
oTable.getBinding('items').attachEvent('dataReceived', function(){...})
API 文档明确声明此事件将用于繁忙指标:
推荐阅读
- r - 使用多个可变变量和不平衡时间从宽变长
- c# - 如何遍历 json 对象中的项目并在 C# 中检索特定值?
- java - JavaFX 默认元素
- sql-server - 如何使用带有 Caret 的命令通过 sql server 的 xp_cmdshell 获取转义字符
- .htaccess - .htaccess to redirect to new website structure
- swift - 无效地址
- c - Valgrind 抑制错误... Grrr
- php - 如何使用服务器请求方法在同一页面上使用获取和发布
- selenium - Firefox - 使用 Selenium 隐藏浏览器框架
- azure - Azure Function App 是否仅将函数内部的传出 HTTP 调用限制为 HTTPS?