Javascript 使用$index绑定的替代行样式
我很难将备用行css类应用于具有foreach绑定上下文的淘汰模板。我正在使用knockout 2.1和可用的Javascript 使用$index绑定的替代行样式,javascript,knockout.js,knockout-2.0,Javascript,Knockout.js,Knockout 2.0,我很难将备用行css类应用于具有foreach绑定上下文的淘汰模板。我正在使用knockout 2.1和可用的$index上下文变量 这就是令人困惑的地方: 我的模板 <li class="row" data-bind="css: { alt: $index%2 }"></li> 正常工作并显示行号。我花了几分钟的时间来解决这个问题,发现自从在淘汰赛2.1中引入新的(如$index)以来,这个问题还没有真正涉及到 我犯的错误是,我只是忘记了$index本身是一个可观察的
$index
上下文变量
这就是令人困惑的地方:
我的模板
<li class="row" data-bind="css: { alt: $index%2 }"></li>
正常工作并显示行号。我花了几分钟的时间来解决这个问题,发现自从在淘汰赛2.1中引入新的(如
$index
)以来,这个问题还没有真正涉及到
我犯的错误是,我只是忘记了$index
本身是一个可观察的,如果我们在数据绑定属性的表达式中使用它,则必须将其展开。即
<li class="row" data-bind="css: { alt: $index%2 }"></li>
应该成为
<li class="row" data-bind="css: { alt: $index()%2 }"></li>
woops:)不要用Javascript做其他行样式,使用CSS更有效:)
刚要问,就找到了你的答案!谢谢:)这一次我差点发疯。这让我有一段时间很沮丧,谢谢你的帖子!我不知道索引是可观察的。虽然我同意你的观点,但如果你试图支持
$index
上下文变量本身就是一个可观察的变量。干杯:)这两个答案都有价值。根据上下文,使用其中一个或另一个有很多原因,在这里看到这两个选项很好,这使这个问题成为一个很好的资源。这正是堆栈溢出的工作原理。
<li class="row" data-bind="css: { alt: $index()%2 }"></li>