1

我为 Knockout 的 foreach 的每个数据提供了一个别名,这样我就可以在另一个嵌套的 foreach 中调用它。现在我想获取别名的索引。我尝试了 '.index()' 和 '.$index' 但没有用。

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

请帮忙,谢谢

4

1 回答 1

6

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

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

$index上下文值只能用于非虚拟 for-each,例如

<ul data-bind="foreach: categories">
   <span data-bind="text: $index"></span>
</ul>
于 2013-06-06T04:39:26.750 回答