Knockout.js 当模板foreach与Knockout绑定时,将类应用于数组中的第一个值

Knockout.js 当模板foreach与Knockout绑定时,将类应用于数组中的第一个值,knockout.js,Knockout.js,我试图找到一种方法,在使用foreach-in-Knockout绑定数组时,将css类应用于第一条记录。我的最终结果应该是这样的 var viewModel = function() { this.records = ["A", "B", "C"] }; 使用可产生以下结果的模板: <tbody> <tr> <td class="special-class">A</a> <td>A</a>

我试图找到一种方法,在使用foreach-in-Knockout绑定数组时,将css类应用于第一条记录。我的最终结果应该是这样的

var viewModel = function() {
   this.records = ["A", "B", "C"]
};
使用可产生以下结果的模板:

<tbody>
   <tr>
      <td class="special-class">A</a>
      <td>A</a>
      <td>A</a>
   </tr>
</tbody>
在您的tempalte中,尝试:

<td data-bind="css: {'special-class' : $root.records[0] === $data}"></td>

前面的解决方案在我的情况下不起作用。 我使用$index==0来查看它是否是第一个孩子,我不知道如何获得最后一个孩子

<td data-bind="css: {'special-class' : $index() == 0}"></td>


css第一个子项不在表中?我需要将类(“特殊类”)添加到每个子项的第一个,因为我收到错误“无法读取未定义的属性“0”。”。我用我的模板和视图模型更新了我的帖子,因为它比我展示的要复杂一些。这就是我如何让我的td看起来顺带一提。啊哈,我明白了。就我而言,它不叫唱片。我实际上改变了我的东西的工作方式,所以我用$parent来代替,但是这个答案给了我我需要的信息。很高兴你成功了,谢恩。
<td data-bind="css: {'special-class' : $root.records[0] === $data}"></td>
<td data-bind="css: {'special-class' : $index() == 0}"></td>