获取Knockoutjs中foreach别名的索引

Qua*_*gTV 1 html foreach knockout.js

我给了Knockout foreach的每个数据的别名,所以我可以在另一个嵌套的foreach中调用它.现在我想得到别名的索引.我试过'.index()'和'.$ index'但没用.

<!-- ko foreach: {data: subjects, as: 'subject' }-->
/*nested foreach*/
subject.index() <-- undefined
<!-- /ko-->
Run Code Online (Sandbox Code Playgroud)

请帮忙,谢谢

Ily*_*lya 6

你可以使用标准的javascript函数Array.indexOf()

<!-- ko foreach: {data: subjects, as: 'subject' }-->
/*nested foreach*/
  <span data-bind="text: subjects.indexOf(subject)"></span>
<!-- /ko-->  
Run Code Online (Sandbox Code Playgroud)

$index 上下文值可以仅用于非虚拟for-each,例如

<ul data-bind="foreach: categories">
   <span data-bind="text: $index"></span>
</ul>
Run Code Online (Sandbox Code Playgroud)