37

条件が true の場合に CSS クラスを適用するために、Knockout にデータ バインディングがあります。クラス名 (test-class など) にダッシュを使用すると、javascript エラーが発生します。

ここに問題を示すフィドルがあります: http://jsfiddle.net/sgvem/2/

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

Knockout JSを使用してダッシュでクラスを追加する方法はありますか?

4

2 に答える 2

58

引用符で囲むだけです:

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

これが更新された fiddleです。

補足として、 ofは に評価され、他の長さは に評価される> 0ため、は必要ありません。length0falsetrue

<p data-bind="text: property, css: { 'with-dash': property().length }"></p>
于 2012-04-23T15:19:57.100 に答える
7

' を使用して名前を修飾できます。

このような:

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

あなたのフィドル、更新されました

CSS バインディングを説明するKnockoutドキュメントは次のとおりです。

于 2012-04-23T15:20:04.740 に答える