web-dev-qa-db-fra.com

knockout.js utilisant $ index avec if binding

J'essaie d'afficher une majoration basée sur la valeur de $index, Je peux afficher la valeur mais je n'arrive pas à l'utiliser avec une liaison if, quelle est la meilleure approche ici?

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

$ index est un observable, et les observables sont des fonctions. Lorsque vous utilisez des observables dans une expression, vous devez utiliser le formulaire () pour accéder à la valeur.

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

À partir de la page des liaisons à élimination directe

$ index (disponible uniquement dans les liaisons foreach)

Il s'agit de l'index de base zéro de l'entrée de tableau actuelle rendue par une liaison foreach. Contrairement aux autres propriétés de contexte de liaison, $ index est un observable et est mis à jour chaque fois que l'index de l'élément change (par exemple, si des éléments sont ajoutés ou supprimés du tableau).

Exemple

<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>

Résulte en

Model #: UAI5021 | Catalog #: UIOY786
13
JackMorrissey