の値に基づいてマークアップを表示しようとしています。値を表示できますが、バインディングで$index
使用できないようです。ここでの最良のアプローチは何ですか?if
<!-- ko if: $index===0 -->
<div>some mark up here</div>
<!-- /ko -->
の値に基づいてマークアップを表示しようとしています。値を表示できますが、バインディングで$index
使用できないようです。ここでの最良のアプローチは何ですか?if
<!-- ko if: $index===0 -->
<div>some mark up here</div>
<!-- /ko -->
$ indexはオブザーバブルであり、オブザーバブルは関数です。式でオブザーバブルを使用する場合は、()形式を使用して値にアクセスする必要があります。
<!-- ko if: $index() === 0 -->
$ 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