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

use*_*162 80 javascript knockout.js

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

<!-- ko if: $index===0 -->
  <div>some mark up here</div>
<!-- /ko -->
Run Code Online (Sandbox Code Playgroud)

Joh*_*les 147

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

<!-- ko if: $index() === 0 -->
Run Code Online (Sandbox Code Playgroud)


Jac*_*sey 13

淘汰赛绑定页面

$ 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>
Run Code Online (Sandbox Code Playgroud)

结果是

Model #: UAI5021 | Catalog #: UIOY786
Run Code Online (Sandbox Code Playgroud)