Knockout JS foreach循环遍历对象数组

时间:2012-08-10 12:29:07

标签: javascript knockout.js

我有一个observableArray:

self.stats = ko.observableArray([
        {"DFTD" : new Stat("Defensive TD", "DFTD",0,20,0,self.playerGroups[1])},
        {"GL" : new Stat("Games Lost", "GL",0,16,0,self.playerGroups[2])},
        {"FGA" : new Stat("Field Goals ATT", "FGA",0,100,0,self.playerGroups[0])},

    ]);

我试图用foreach循环它,然后打印出Stat对象名称属性,这是该对象中的第一个元素。

<tbody data-bind="foreach: stats" id="stat-sliders">
        <tr>
            <td><span data-bind="text: stats.Stat().name"></span></td>
            <!--/*<td class="statsListItem">
                    </tr>
 </tbody>

我不确定我是否正确行事。我是淘汰赛的初学者,想知道是否有人可以提供帮助?

2 个答案:

答案 0 :(得分:3)

下面的小提琴创建了一系列足球统计数据,其中包含一个关键字段和一个统计字段。如果您愿意,可以使用关键字段更快地访问。如果你想要一个你拥有属性的对象,那么这将允许最快的索引,尽管它不是一个数组。

看看这是否是你想要的。

http://jsfiddle.net/johnpapa/CgFjJ/

答案 1 :(得分:1)

您不需要回电话stats。请注意,span绑定到数组内部模型的属性。

<tbody data-bind="foreach: stats" id="stat-sliders">
        <tr>
            <td><span data-bind="text: name"></span></td>
            <!--/*<td class="statsListItem">
                    </tr>
 </tbody>

另外,我不认为Knockout能够很好地处理像这样的键控数组。

相关问题