Aurelia - repeat.for json

时间:2016-05-23 08:25:54

标签: javascript json aurelia

我是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>

我很感激帮助!

1 个答案:

答案 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;