web-dev-qa-db-fra.com

utilisation de knockout pour définir la classe css avec une condition if

Je veux définir une classe bootstrap css sur une plage avec une condition if (jusqu'à la valeur liée). J'ai un champ isApproved dans une liste, je veux voir le champ avec la classe "label-success" lorsqu'elle est active et la classe "label-important" lorsqu'elle est inactive

J'ai ajouté cette ligne, mais tout le temps elle prend la première classe:

data-bind="text: isApproved, css: isApproved = 'true' ? 'label label-important' : 'label label-important'"

Est-il possible en html ou devrais-je ajouter un champ calculé sur ma VM?

32
Wasim

Si je vous ai bien compris, c'est la reliure que vous recherchez.

 data-bind="text: isApproved, css: {
    'label' :  true,
    'label-success' :  isApproved(),
    'label-important':  !isApproved()
 }"

J'espère que ça aide.

52
Damien

Vous pouvez également nous faire appel à un opérateur ternaire. Par exemple:

<span class="label" data-bind="text: isApproved, css: isApproved() == true ? 'label-success' : 'label-important'"></span>
35
Armand