Pregunta

Mi modelo de vista está devolviendo un verdadero valor, y estoy tratando de obtener mi plantilla para agregar CSS en consecuencia. El problema es que no puedo encontrar la sintaxis para un! = Verdadero.

Tengo algo como esto:

<div data-bind="css: {'lw-touched': checked, 'lw-touch': !checked}"></div>

Lo que pensé que diría, aplique 'LW-Touched' si se verifica === Verdadero, aplique 'LW-Touch' si se verifica === FALSO. Pero eso no funciona :(. Así que probé esto:

<div data-bind="css: {'lw-touched': checked, 'lw-touch': checked !== true}"></div>

Que tampoco funcionó.

¡Estoy seguro de que hay una manera de hacer esto! No puedo encontrarlo en este momento.

¿Fue útil?

Solución

Publiqué y lo resolví 30 segundos después :(.

Lo dejo porque alguien más podría tener este mismo problema.

data-bind="css: {'lw-touched': checked, 'lw-touch': !checked()}">

También utilicé la mejor sintaxis gracias a @Mikaelöstberg

Estoy marcando esto como la respuesta para no recibir más comentarios negativos:/

Otros consejos

data-bind="css: isPlaying() ? 'play' : 'pause'"

Considere agregar el () en el campo de enlace.

Gracias G.Breeze, Para tu respuesta. He estado tratando sin éxito de usar el operador ternario en el CSS propiedad, pero nunca supe que podría establecerse sin los aparatos ortopédicos. Uno para los libros!

data-bind="css: ifThisExpressionIsTrue() ? 'applyThisClass andAnother' : 'elseThisClass'"

Has golpeado un tema de dos años con tu valiosa respuesta.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top