Knockout liaison JS-CSS avec tiret dans le nom de classe
J'ai une liaison de données dans Knockout pour appliquer une classe CSS si une condition est vraie. Lorsque j'utilise un tiret dans le nom de la classe (comme test-class), j'obtiens une erreur javascript.
Voici un violon qui illustre le problème: http://jsfiddle.net/sgvem/2/
<p data-bind="text: property, css: { with-dash: property().length > 0 }"></p>
Existe-t-il un moyen d'ajouter une classe avec un tiret en utilisant Knockout JS?
2 réponses
Il suffit de le mettre entre guillemets:
<p data-bind="text: property, css: { 'with-dash': property().length > 0 }"></p>
Voici unmis à jour fiddle .
, Comme une note de côté, vous n'avez pas besoin de la > 0
depuis length
de 0
évaluera à false
, et toute autre longueur d'évaluer à true
:
<p data-bind="text: property, css: { 'with-dash': property().length }"></p>
Vous pouvez qualifier le nom en utilisant '
Comme ceci:
<p data-bind="text: property, css: { 'with-dash': property().length > 0 }"></p>
Votre violon, mis à jour
Voici les documents Knockout expliquant la liaison css: http://knockoutjs.com/documentation/css-binding.html