35

我无法将备用行 css 类应用于具有 foreach 绑定上下文的剔除模板。我正在使用带有可用$index上下文变量的淘汰赛 2.1。

这是令人困惑的:

我的模板

<li class="row" data-bind="css: { alt: $index%2 }"></li>

导致没有alt应用任何类,但是:

<li class="row" data-bind="text: $index"></li>

正常工作并显示行号。

4

2 回答 2

71

我为此苦苦挣扎了几分钟,发现自从淘汰赛 2.1 中引入了新的绑定上下文变量(如)以来,并没有真正涵盖这个问题$index

我犯的错误是我只是忘记了它$index本身是可观察的,如果我们在 data-bind 属性的表达式中使用它,则必须将其解包。IE,

<li class="row" data-bind="css: { alt: $index%2 }"></li>

应该成为

<li class="row" data-bind="css: { alt: $index()%2 }"></li>

哎呀 :)

于 2012-06-27T16:48:42.623 回答
12

不要用 Javascript 做交替行样式,使用更有效的 CSS :)

https://developer.mozilla.org/en-US/docs/CSS/:nth-child

于 2013-03-02T23:39:36.323 回答