Knockout foreach绑定中的$ index + 1

时间:2013-07-18 21:39:20

标签: knockout.js knockout-2.0

我需要在表格中显示$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的名字:Bert删除

     

位置1的名字:Charles删除

     

位置2的名称:Denise删除

我真的需要这只是为了显示目的。

  

位置1的名字:Bert删除

     

位置2的名字:Charles删除

     

位置3的名称:Denise删除

我尝试了这个但没有成功<span data-bind="text: ($index + 1)"> </span>

2 个答案:

答案 0 :(得分:125)

$ index是一个可观察的。 所以你需要这样使用它:

<span data-bind="text: ($index() + 1)"> </span>

答案 1 :(得分:1)

我在这里找到答案: Knockout is not evaluating an expression when using $index in a binding

为了使用它<span data-bind="text: $index() + 1"></span>