knockout.js, використовуючи $ index з прив'язкою if


82

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

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

Відповіді:


152

Індекс $ є спостережуваним, а спостережувані - це функції. Коли ви використовуєте спостережувані у виразі, ви повинні використовувати форму () для доступу до значення.

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

15

Зі сторінкою з нокаутом

індекс $ (доступний лише в межах прив'язок 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
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.