我无法使用foreach绑定上下文将替代行css类应用于挖空模板。我正在使用具有可用$index
上下文变量的knockout 2.1。
这是令人困惑的:
我的模板
<li class="row" data-bind="css: { alt: $index%2 }"></li>
导致没有应用alt
个类,但是:
<li class="row" data-bind="text: $index"></li>
正常工作并显示行号。
答案 0 :(得分:71)
我挣扎了几分钟,发现这个问题并没有真正涵盖,因为新的binding context variables(如$index
)已经在淘汰2.1中引入
我犯的错误是我忘记了$index
本身是一个可观察的,如果我们在data-bind属性中的表达式中使用它,则必须将其解包。即,
<li class="row" data-bind="css: { alt: $index%2 }"></li>
应该成为
<li class="row" data-bind="css: { alt: $index()%2 }"></li>
woops:)
答案 1 :(得分:12)
不要使用Javascript替代行样式,使用更有效的CSS:)