javascript - type - noscript tag
estilo de fila alternativa con $ index binding (2)
Tengo problemas para aplicar una clase css de filas alternativas a una plantilla knockout con un contexto de enlace foreach. Estoy usando knockout 2.1 con la variable de contexto $index
disponible.
Esto es lo que es confuso
Mi plantilla
<li class="row" data-bind="css: { alt: $index%2 }"></li>
Sin embargo, no se aplican las clases alt
.
<li class="row" data-bind="text: $index"></li>
funciona correctamente y muestra el número de fila.
Luché con esto por un par de minutos y descubrí que esta pregunta no había sido realmente cubierta ya que las nuevas variables de contexto vinculante (como $index
) habían sido introducidas en knockout 2.1
El error que cometí fue que simplemente olvidé que el $index
sí mismo es un observable, y debe ser desenvuelto si lo estamos usando en una expresión en el atributo de enlace de datos. es decir,
<li class="row" data-bind="css: { alt: $index%2 }"></li>
debe convertirse
<li class="row" data-bind="css: { alt: $index()%2 }"></li>
woops :)
No hagas un estilo de fila alternativo con Javascript, usa CSS que es mucho más eficiente :)