$index+1 在 Knockout foreach 绑定中

Posted

技术标签:

【中文标题】$index+1 在 Knockout foreach 绑定中【英文标题】:$index+1 in Knockout foreach binding 【发布时间】:2013-07-18 01:12:04 【问题描述】:

我需要在表格中显示$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

我试过这个没有成功&lt;span data-bind="text: ($index + 1)"&gt; &lt;/span&gt;

【问题讨论】:

试试 $index() + 1 Knockout is not evaluating an expression when using $index in a binding的可能重复 【参考方案1】:

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

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

【讨论】:

【参考方案2】:

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

为了使用它&lt;span data-bind="text: $index() + 1"&gt;&lt;/span&gt;

【讨论】:

以上是关于$index+1 在 Knockout foreach 绑定中的主要内容,如果未能解决你的问题,请参考以下文章

knockout.js $index 做列表索引小技巧

异步加载Knockout组件中的模板

Typescript 和 Knockout.js

knockout checkbinding获取last(de)selected元素

Knockout.js 和 Jquery Mobile

foreach循环的跳出