2012-04-23 8 views
35

条件が真である場合、CSSクラスを適用するためにノックアウトにデータバインディングがあります。クラス名にダッシュ(test-classなど)を使用すると、javascriptエラーが発生します。 http://jsfiddle.net/sgvem/2/ノックアウトJS - クラス名でダッシュを使用したCSSバインディング

<p data-bind="text: property, css: { with-dash: property().length > 0 }"></p> 

ノックアウトJSを使用してダッシュでクラスを追加する方法があります:ここで

は、問題を示しフィドルのですか?

答えて

52

ただ、引用符でそれを置く:

<p data-bind="text: property, css: { 'with-dash': property().length > 0 }"></p> 

ここupdated fiddleです。

0lengthfalseに評価され、他の長さはtrueと評価されますので、注意点として、あなたは> 0は必要ありません。

<p data-bind="text: property, css: { 'with-dash': property().length }"></p> 
+0

は、長さおよそ素敵ちらほらを追加するための答えとしてあなたをマークするために持っていた:) – Dismissile

6

あなたは 'を使用して名前を修飾することができます

このよう

<p data-bind="text: property, css: { 'with-dash': property().length > 0 }"></p> 

あなたのフィドル、ここ

結合CSSを説明ノックアウトドキュメントされていますhttp://knockoutjs.com/documentation/css-binding.html