2012-06-27 9 views
35

foreachバインディングコンテキストを持つノックアウトテンプレートに代替行cssクラスを適用するのに問題があります。私は利用可能な$indexコンテキスト変数でノックアウト2.1を使用しています。いただきました!混乱

これは、次のとおりです。

マイテンプレート適用されていないaltクラスで

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

結果、しかし:

<li class="row" data-bind="text: $index"></li> 
正常に動作し、行番号を表示し

答えて

71

私は、数分のためにこれで苦労し、この質問が本当に新しいbinding context variables(のような$index)以来、カバーされていなかったことがわかった私が作った間違いは、そのI単純だったノックアウトで2.1

を導入されていました$index自体が観測可能であることを忘れてしまい、データバインド属性の式でそれを使用している場合は、アンラップする必要があります。方法がより効率的です:)すなわち、

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

はJavascript、使用CSSで代替行スタイリングをしないでください

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

woops :)

+0

私はこの間違いを犯し続けています! – RichardTowers

+0

ちょうど聞いていたし、あなたの答えを見つけました!ありがとう:) – Ryan

+0

私はこの1つに夢中になっていた。 – jes

12
+4

私はあなたに同意しますが、

+1

これらの両方の答えは価値があります。文脈によっては、どちらか一方を使用する理由がたくさんあります。ここではこれらのオプションの両方を見るとよいですし、この質問を良いリソースにします。これは、スタックオーバーフローがどのように機能するのかを正確に示しています。 –

関連する問題