55

表に表示する必要があり$index+1ます。

$indexすべての要素を 0 から開始するだけを使用する場合は、1 から開始する必要があります。

ノックアウトのドキュメントは次のとおりです: http://knockoutjs.com/documentation/foreach-binding.html

そこには、次の例があります。

<h4>People</h4>
<ul data-bind="foreach: people">
    <li>
        Name at position <span data-bind="text: $index"> </span>:
        <span data-bind="text: name"> </span>
        <a href="#" data-bind="click: $parent.removePerson">Remove</a>
    </li>
</ul>
<button data-bind="click: addPerson">Add</button>

したがって、次のように表示されます。

人々

位置 0 の名前: バート削除

1 位の名前: チャールズ・リムーブ

2 番目の位置の名前: Denise Remove

これは表示目的のためだけに必要です。

1 番目の位置の名前: Bert 削除

2 番目の位置の名前: チャールズ リムーブ

3 番目の位置の名前: Denise Remove

私は成功せずにこれを試しました <span data-bind="text: ($index + 1)"> </span>

4

2 に答える 2

132

$index はオブザーバブルです。したがって、次のように使用する必要があります。

<span data-bind="text: ($index() + 1)"> </span>
于 2013-07-18T21:43:42.783 に答える
1

私はここで答えを見つけました: Knockout is not evaluate an expression when using $index in a binding

それを使用するために<span data-bind="text: $index() + 1"></span>

于 2013-07-18T21:44:09.067 に答える