在knockout js中找到foreach data-bind的最后一次迭代

Gov*_*van 4 html css foreach knockout.js

有没有办法在淘汰赛中使用foreach data-bind找到最后一次迭代?

我的问题是,我正在迭代一个项目列表,并希望打印由一行分隔的所有项目.

我不想为该数组的最后一项绘制一条线(hr).

RP *_*yer 8

在foreach中,您可以绑定一个名为的特殊上下文变量(observable)$index.所以,你可以绑定类似的东西visible: $index() < $parent.items().length - 1.

示例:http: //jsfiddle.net/rniemeyer/M55qh/


Dam*_*ien 6

您可以检查是否显示第一个元素.

<div data-bind="foreach: items">
   <hr data-bind="visible : $index()!=0" /> 
   <span data-bind="text: $data"></span>
</div>
Run Code Online (Sandbox Code Playgroud)

看小提琴

或者正如RP Niemeyer所说,你可以省略最后一小时:

<div data-bind="foreach: items">
   <span data-bind="text: $data"></span>
   <hr data-bind="visible : $index() != ($parent.length-1)" /> 
   // notice the hr is after the item.
</div>
Run Code Online (Sandbox Code Playgroud)