Sapui5 * 或 /../ 路径运算符
Sapui5 * or /../ Path operator
我有一个 JSON 这种结构:
{
"collection": [
{
"category": "Cables",
"catId": "B"
items": {
"subcat": [
{
"subcatname": "Good quality",
"products": [
{
"id": 1,
"name": "cable",
"price": "1400",
"image": "resources/pic(1).jpg",
"title": "Lorem Ipsum ",
"description": "Lorem Ipsum ."
},
(...)
"category": "Other",
"catId":"B"
(...)
有多个类别和子类别。我的问题是,在创建搜索机制时,我需要将层次结构中的所有最低元素绑定到一个列表。目前我是这样做的:
var sList = new sap.m.List({
id: "searchListId",
columns: [
(...)
]
});
var oTemplate = new sap.m.ColumnListItem({
type: sap.m.ListType.Active,
cells: [
new sap.m.Image({
src: "{products>subcatname}",
width: "100%"
}),
new sap.m.Text({
width: "100%",
text: "{products>name} \n {flatProducts>price}"
}),
]
});
sList.bindAggregation("items", "products>/collection/1/items/subcat/0/product", oTemplate);
但此解决方案仅显示 JSON 的一小部分,我检查了 * 或 /../ 运算符,但均无效。是否有类似的我可以输入到路径中以便它搜索所有元素?
你可以试试jQuery.grep,IIRC它也搜索多维数组
无法在 UI5 中直接执行此操作。
您将不得不操纵您的 JSON 或创建一个仅包含叶子的新 JSON(模型)。使用这个新模型,您可以进行常规列表绑定。操纵 JSON 结构 Qualiture 完全正确指向 jQuery.grep.
BR
克里斯
我有一个 JSON 这种结构:
{
"collection": [
{
"category": "Cables",
"catId": "B"
items": {
"subcat": [
{
"subcatname": "Good quality",
"products": [
{
"id": 1,
"name": "cable",
"price": "1400",
"image": "resources/pic(1).jpg",
"title": "Lorem Ipsum ",
"description": "Lorem Ipsum ."
},
(...)
"category": "Other",
"catId":"B"
(...)
有多个类别和子类别。我的问题是,在创建搜索机制时,我需要将层次结构中的所有最低元素绑定到一个列表。目前我是这样做的:
var sList = new sap.m.List({
id: "searchListId",
columns: [
(...)
]
});
var oTemplate = new sap.m.ColumnListItem({
type: sap.m.ListType.Active,
cells: [
new sap.m.Image({
src: "{products>subcatname}",
width: "100%"
}),
new sap.m.Text({
width: "100%",
text: "{products>name} \n {flatProducts>price}"
}),
]
});
sList.bindAggregation("items", "products>/collection/1/items/subcat/0/product", oTemplate);
但此解决方案仅显示 JSON 的一小部分,我检查了 * 或 /../ 运算符,但均无效。是否有类似的我可以输入到路径中以便它搜索所有元素?
你可以试试jQuery.grep,IIRC它也搜索多维数组
无法在 UI5 中直接执行此操作。
您将不得不操纵您的 JSON 或创建一个仅包含叶子的新 JSON(模型)。使用这个新模型,您可以进行常规列表绑定。操纵 JSON 结构 Qualiture 完全正确指向 jQuery.grep.
BR 克里斯