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 的名称:Bert Remove

第 1 位的姓名:Charles Remove

位置 2 的名称:Denise Remove

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

位置 1 的名称:Bert Remove

第 2 位的姓名:Charles Remove

第 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 回答