我是Aurelia的新手。
我正在尝试通过一些如下所示的json迭代(repeat.for)。我可以用手动连续这样做,但艺术家的数量是可变的。下面例如有效。
SELECT * FROM TABLE(GenProc(arg1,arg2))
如何为所有艺术家返回所有对象?我试过用for循环这样做但我无法让它工作。我应该返回response.artists,然后在我的视图模型中使用它吗?这就是视图的样子:
return this.http.fetch(baseUrl + "/artists/" + token + "&search=" + searchCreator)
.then(response => response.json())
.then(response => {
//for (var i = 0; i < response.resultsCount; i++){
// response += response.artists[i].objects;
//}
return response.artists[0].objects.concat(response.artists[1].objects);
});
json示例:
<tr repeat.for="item of items">
<td>${item.title}</td>
<td>${item.displayName}</td>
<td>${item.objectNumber}</td>
</tr>
我很感激帮助!
答案 0 :(得分:0)
如果您熟悉LINQ,可以使用jslinq
之类的库并执行以下操作:
return jslinq(response.artists)
.selectMany(function(artist){
return artist.objects
}).toList();
当然,如果我打算在项目中多次使用它,我只会包含jslinq。如果您不想要开销,那么使用concat的解决方案应该可以正常工作:
var result = [];
for(var i = 0; i < response.artists.length; i++) {
result = result.concat(response.artists[i].objects);
}
return result;