[javascript] $ index를 if 바인딩과 함께 사용하는 knockout.js

의 값을 기반으로 일부 마크 업을 표시하려고합니다. 값을 $index표시 할 수 있지만 if바인딩 과 함께 사용할 수없는 것 같습니다. 여기서 가장 좋은 방법은 무엇입니까?

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



답변

$ index는 옵저버 블이고 옵저버 블은 함수입니다. 식에서 관찰 가능 항목을 사용하는 경우 값에 액세스하려면 () 형식을 사용해야합니다.

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


답변

로부터 녹아웃 바인딩 페이지

$ index (foreach 바인딩 내에서만 사용 가능)

foreach 바인딩에 의해 렌더링되는 현재 배열 항목의 0부터 시작하는 인덱스입니다. 다른 바인딩 컨텍스트 속성과 달리 $ 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


답변