Javascript 如何从UI5中的父上下文获取OData上下文

Javascript 如何从UI5中的父上下文获取OData上下文,javascript,odata,sapui5,odata-v4,Javascript,Odata,Sapui5,Odata V4,我正在UI5中使用ODataV4模型。我已经创建了一个包含一些扩展的绑定,现在我尝试获取子实体的上下文 下面是我如何将实体绑定到某个元素的代码。因此,我得到了一个位于“SomeEntity”上的对象和一个属性为“SomeOtherEntity”的数组 oPage.bindElement({ path: /SomeEntity(id), parameters: { $expand: { SomeOtherEntity: {

我正在UI5中使用ODataV4模型。我已经创建了一个包含一些扩展的绑定,现在我尝试获取子实体的上下文

下面是我如何将实体绑定到某个元素的代码。因此,我得到了一个位于“SomeEntity”上的对象和一个属性为“SomeOtherEntity”的数组

oPage.bindElement({
    path: /SomeEntity(id),
    parameters: {
        $expand: {
            SomeOtherEntity: {
                $select: ['ID', 'name', 'sequence'],
                $orderby: 'sequence'
            }
        }
    }
});
现在,我可以使用
oPage.getBindingContext()
获取绑定的上下文,并可以从该对象执行
requestObject、setProperty、create
delete
等方法

我想要的是获取其中一个“SomeOtherEntity”属性的上下文,以便(例如)删除其中一个属性。
我不知道如何做到这一点。有人有想法吗?

您可以创建一个自己的列表绑定到其他实体,并过滤所需的集合

(我不太确定,但可能需要触发ListBinding上的刷新以强制初始加载)

加载数据(dataReceived事件)后,删除所有上下文。 每次删除都会返回一个承诺,您可以继续执行一个承诺。全部

var oDataModel = this.getModel();
var aPromises= [];
var oListBinding = oDataModel.bindList("/SomeOtherEntity", undefined, undefined, new Filter("ID", FilterOperator.EQ, sIdToDelete), {
        $$operationMode: OperationMode.Server
    });

oListBinding.attachEventOnce("dataReceived", function (oEvent) {
    var aContexts = oListBinding.getContexts();
    aContexts.forEach(function (oContext) {
        aPromises.push(oContext.delete("$auto"));
    });
    Promise.all(aPromises).then(function () {
        /* Cleanup after Deletion
    });
});