knockout.js knockout-2.0

Knockout.js "if Binding" en mĂșltiples booleanos



knockout-2.0 (2)

Cuando Knockout procesa tus enlaces, primero evalúa tu expresión.

Si la expresión da como resultado un observable, entonces evalúa lo observable como una conveniencia para obtener el valor final con el que if: funciona.

Entonces los dos siguientes trabajos son idénticos

<div data-bind="if: foo"></div> <div data-bind="if: foo()"></div>

Una vez que abandone el mundo de las expresiones simples que terminan en un observable, probablemente también quiera dejar atrás el azúcar y siempre evaluar los observables por sí mismo (para la sensatez, nada más).

Pruebe lo siguiente

<div data-bind="if: (property.aTrueValue() && property.anotherTrueValue())">...

¿Es posible utilizar Knockout si vincula a más de un booleano?

Como

<div data-bind="if: (property.aTrueValue && property.anotherTrueValue)">...

He intentado con mucha sintaxis diferente, pero parece que no puedo encontrar la sintaxis correcta. No estoy seguro de que sea posible.


Usted puede - el enlace si solo toma una expresión arbitraria. Al hacer más que simplemente hacer referencia al valor de un observable como ese, necesitará llamar al observable así:

<div data-bind="if: (property.aTrueValue() && property.anotherTrueValue())">...

Aquí hay un jsfiddle trabajo.