元素 sap.m.StandardListItem#subcatId 中不存在聚合 "items"

Aggregation "items" does not exist in Element sap.m.StandardListItem#subcatId

我试图绑定某些类别的产品,在每个类别中都有一个扩展的产品,首先我列出了默认 oData 服务的类别,只读 http://services.odata.org/V3/OData/OData.svc,然后单击一个类别的我走它的路径(它returns像:Category(1)Category(2)等),并用它来调用这个类别的产品,但是有一个错误,元素sap.m.StandardListItem中不存在聚合"items"#subcatId我做错了什么?

这里是采用类别的 sPath 然后尝试检索该类别的产品列表的代码:

    var app = sap.ui.getCore().byId("appId");
    var list = sap.ui.getCore().byId("listId");

    var sItem = list.getSelectedItem();
    var sPath = sItem.oBindingContexts.data.sPath;

    var sCont = sap.ui.getCore().byId("subcatId");
    var sCats = new sap.m.StandardListItem({
        parameters: {expand: "Products"},
        title: "{data>Name}"
    })

    sCont.bindAggregation("items","data>"+sPath,sCats);

api的:

http://services.odata.org/V3/OData/OData.svc/Categories http://services.odata.org/V3/OData/OData.svc/Products http://services.odata.org/V3/OData/OData.svc/Categories?$expand=Products

谢谢大家的帮助!

sCont 似乎是sap.m.StandardListItem 的一个实例。正如您从 API 文档中看到的那样,StandardListItem 没有聚合 "items"。而不是调用

sCont.bindAggregation("items","data>"+sPath,sCats);

你应该尝试像这样绑定相应列表的项目聚合:

list.bindAggregation("items",...);

我在你的代码片段中看到你甚至在第二行检索了列表:

var list = sap.ui.getCore().byId("listId");