如何在 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。现在一切都很好:)
我在 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。现在一切都很好:)