使用带有if绑定的$ index的knockout.js

时间:2012-07-03 20:09:39

标签: javascript knockout.js

我正在尝试根据$index的值显示一些标记,我可以显示该值,但我似乎无法使用if绑定,这是最好的方法这里吗?

<!-- ko if: $index===0 -->
  <div>some mark up here</div>
<!-- /ko -->

2 个答案:

答案 0 :(得分:146)

$ index是一个可观察的,可观察的是函数。在表达式中使用observable时,必须使用()表单来访问该值。

<!-- ko if: $index() === 0 -->

答案 1 :(得分:13)

来自knockout bindings page

  

$ index(仅在foreach绑定中可用)

     

这是正在呈现的当前数组条目的从零开始的索引   通过foreach绑定。与其他绑定上下文属性不同,   $ index是一个可观察的,只要项目的索引就会更新   更改(例如,如果在数组中添加或删除项目)。

实施例

<div data-bind="foreach: details.additionalDetails">
    <!-- ko if: $index() !== 0 -->
        <span> | </span>
     <!-- /ko -->
        <span data-bind="text: name"></span> <span data-bind="text: value"></span>
</div>

结果

Model #: UAI5021 | Catalog #: UIOY786