Lel*_*son 35 javascript knockout-2.0 knockout.js
我无法使用foreach绑定上下文将替代行css类应用于挖空模板.我正在使用具有可用$index上下文变量的knockout 2.1 .
这有什么令人困惑的:
我的模板
<li class="row" data-bind="css: { alt: $index%2 }"></li>
Run Code Online (Sandbox Code Playgroud)
但是,结果是没有alt应用任何类:
<li class="row" data-bind="text: $index"></li>
Run Code Online (Sandbox Code Playgroud)
正常工作并显示行号.
Lel*_*son 71
我挣扎了几分钟,发现自从新的绑定上下文变量(如$index)在knockout 2.1中引入后,这个问题并未真正被覆盖
我犯的错误是我忘记了它$index本身是一个可观察的,如果我们在data-bind属性中的表达式中使用它,则必须将其解包.即
<li class="row" data-bind="css: { alt: $index%2 }"></li>
Run Code Online (Sandbox Code Playgroud)
应该成为
<li class="row" data-bind="css: { alt: $index()%2 }"></li>
Run Code Online (Sandbox Code Playgroud)
woops :)
小智 12
不要用Javascript做替代的行样式,使用CSS更方便:)
https://developer.mozilla.org/en-US/docs/CSS/:nth-child
| 归档时间: |
|
| 查看次数: |
11527 次 |
| 最近记录: |