Knockout.js с использованием $index с привязкой

Я пытаюсь показать некоторую отметку на основе значения $index, я могу отобразить это значение, но я не могу использовать его с привязкой if, какой лучший подход здесь?

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

Ответ 1

$index является наблюдаемым, а наблюдаемые - функциями. Когда вы используете наблюдаемые выражения, вы должны использовать форму() для доступа к значению.

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

Ответ 2

На странице привязки нокаутов

$index (доступно только для привязок foreach)

Это индекс на основе нуля текущей отображаемой записи массива посредством привязки foreach. В отличие от других свойств контекста привязки, $index является наблюдаемым и обновляется всякий раз, когда индекс элемента изменения (например, если элементы добавлены или удалены из массива).

Пример

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

Результаты в

Model #: UAI5021 | Catalog #: UIOY786