knockout.js usando $ index con if vinculante

82

Estoy tratando de mostrar un margen de beneficio basado en el valor de $index, puedo mostrar el valor pero parece que no puedo usarlo con un ifenlace, ¿cuál es el mejor enfoque aquí?

<!-- ko if: $index===0 -->
  <div>some mark up here</div>
<!-- /ko -->
usuario1255162
fuente

Respuestas:

152

$ index es un observable y los observables son funciones. Cuando usa observables en una expresión, debe usar la forma () para acceder al valor.

<!-- ko if: $index() === 0 -->
John Earles
fuente
15

Desde la página de enlaces eliminatorios

$ index (solo disponible dentro de los enlaces foreach)

Este es el índice de base cero de la entrada de la matriz actual que está siendo representada por un enlace foreach. A diferencia de las otras propiedades de contexto de enlace, $ index es un observable y se actualiza cada vez que cambia el índice del elemento (por ejemplo, si se agregan o quitan elementos de la matriz).

Ejemplo

<div data-bind="foreach: details.additionalDetails">
    <!-- ko if: $index() !== 0 -->
        <span> | </span>
     <!-- /ko -->
        <span data-bind="text: name"></span> <span data-bind="text: value"></span>
</div>

Resultados en

Model #: UAI5021 | Catalog #: UIOY786
Jack Morrissey
fuente