如何在 SAP 混合应用程序中包含具有相对路径的集合?

How do you include a set with a relative path in a SAP hybrid app?

我在 SAP UI5 中制作了一个应用程序,它在使用浏览器时以在线模式运行,在使用移动设备时以离线模式运行。我正在尝试在从集合中获取的弹出窗口中显示一些选项。问题是当我 运行 它处于联机模式时找到了该集,但不是脱机。

该集合是另一个集合的扩展,并且取决于一个变量,例如/FooSet('P1')/Types,其中 P1 是一个变量。 从集合中获取项目并将其显示在弹出窗口中的实现如下:

this._popup.getAggregation('_dialog').getContent()[1].bindAggregation("items", {
    path: "/FooSet('" + varType + "')/Types",
    template: new sap.m.StandardListItem({
        title: "{Title}",
        description: "{Desc}"
});

如前所述,这在网上运行良好,但 Types 集在 运行 离线时为空。

我怀疑问题出在definingRequests.json文件,里面包含了离线应用程序要包含的所有集合。这是一个片段:

{
    "definingRequests": {
        "FooSet": "/FooSet",
        "BarSet": "/BarSet",
        "ZooSet": "/ZooSet"
    }
}

这里包含了三套;例如,我从 FooSet 获得了正确的数据,其中包含不同的变量,如 P1、P2、P3 等。所以我的问题是:当存在像 P1参与?

我已经尝试过像 "Types": "/Types""Types": "/FooSet/Types" 那样定义它,但这都不起作用。

提前致谢!

正如所怀疑的那样,我只是在 definingRequests.json.

中错误地定义了集合

它应该是 "TypesSet": "/TypesSet",而不是 "Types": "/Types",即使路径名为 Types。现在一切都很好:)