簡體   English   中英

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

[英]Find the last iteration of foreach data-bind in knockout js

有沒有辦法在淘汰賽中使用foreach data-bind找到最后一次迭代?

我的問題是,我正在迭代一個項目列表,並希望打印由一行分隔的所有項目。

我不想為該數組的最后一項繪制一條線(hr)。

在foreach中,您可以綁定一個名為$index的特殊上下文變量(observable)。 所以,你可以綁定像visible: $index() < $parent.items().length - 1這樣的東西visible: $index() < $parent.items().length - 1

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

您可以檢查是否顯示第一個元素。

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

看小提琴

或者正如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>

使用CSS也許你可以使用last-child ,嘗試:

hr:last-child {
  display:none;
}

如果您可以更具體地添加父容器的id

你可以使用visible: $index() < list().length或類似的東西?

http://jsfiddle.net/x2aa7/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM