2013-06-06 18 views
1

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

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

请帮帮忙,谢谢

回答

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>