1

私は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>

私がそれを正しく行っているかどうかはわかりません。私はノックアウトの初心者で、誰か助けてくれるかどうか疑問に思っていますか?

4

2 に答える 2

3

以下のフィドルは、キーフィールドと統計フィールドを含むサッカー統計の配列を作成します。必要に応じて、キーフィールドを使用してすばやくアクセスできます。プロパティがキーであるオブジェクトが必要な場合は、配列ではありませんが、最も高速なインデックス作成が可能になります。

これがあなたが望むものであるかどうかを確認してください。

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

于 2012-08-10T17:39:55.217 に答える
1

にコールバックする必要はありませんstatsspanが配列内にあるモデルのプロパティにバインドされていることに注意してください。

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

また、Knockout はそのようなキー付き配列ではうまく機能しないと思います。

于 2012-08-10T12:30:40.153 に答える