문제

ember.js에서 반복하는 동안 위치 색인을 얻는 방법이 있습니까? 라코 디스

다음과 같은 방법을 찾고 있습니다. 라코 디스

업데이트 :

@ebryn의 주석에 따라 아래 코드는 각 항목에 대해 중첩 된보기를 사용하지 않고 작동합니다. 라코 디스

http://jsfiddle.net/WSwna/14/

adjustedIndex와 같은 것이 있지만 중첩 된 뷰가 필요합니다.

도움이 되었습니까?

해결책

오래된 질문이지만 여전히 많은 인기를 얻고 있습니다.현재 Ember.JS 버전에서는 _view.contentIndex를 사용하여 루프 내부에 현재 색인을 표시 할 수 있습니다. 라코 디스

조정 된 색인이 필요한 경우 (예 : 1부터 시작) 재사용 가능한 도우미 유전자 태그 코드를 만들 수 있습니다. 라코 디스

그런 다음 다음과 같은 방식으로 사용합니다. 라코 디스

업데이트

ember 1.11부터는 할 수 있습니다 라코 디스

다른 팁

RC6에서 CollectionView는 컬렉션의 렌더링 된 각 뷰에 대한 contentIndex 속성을 제공합니다.Each 도우미는 구현에서 CollectionView를 사용하므로 uou는 다음과 같은 방식으로 색인에 액세스 할 수 있습니다. 라코 디스

실제로 {{each}} 도우미를 사용하여 현재 색인의 위치를 가져올 수 있습니다.목록의 모든 항목에 대한보기를 만든 다음 {{_parentView.contentIndex}}를 사용해야합니다. 라코 디스

<script type="text/x-handlebars">
{{#each App.peopleController}}
  {{#view App.PersonView contentBinding="this"}}
    Index {{_parentView.contentIndex}}: {{content.name}} {{adjustedIndex}} <br />
  {{/view}}
{{/each}}
</script>

작동하는 예는 이 jsFiddle 을 참조하세요.

Ember 9.8 및 1.0 이전 버전에서는 가상 부모 ({{#each}})를 얻기 위해 뷰로 "contentIndex"를 래핑 할 수 있습니다.뷰를 추가하지 않으면 컨텍스트가 기본 템플릿, 목록의 항목 또는 {{#with}}로 수동으로 설정 한 항목이됩니다.JS 측에서 {{#each}}를 얻는 것은 불가능하지 않지만 이러한 자식 뷰를 뒤집는 것은 훨씬 더 고통 스럽습니다. 라코 디스

피들러를 원하는 경우에만 해당됩니다.

데모

참고 : 숫자를 수정하려는 경우보기를 만들고 생성 태그 코드를 수행하여 색인을 가져올 수 있습니다.

이것은 현재 Handlebars 또는 Ember.Handlebars의 기능이 아닙니다.우리는 contentIndex / #collection 안에 사용할 수있는 Ember.CollectionView가 있습니다.나는 #each에서도 지원하는 것이 유용하다고 생각합니다.GitHub 저장소에 문제를 제출하세요. https://github.com/emberjs/ember.js/문제

Ember 1.11.0부터 indexeach 블록의 선택적 매개 변수입니다. 라코 디스

컬렉션을 사용하여 약간의 ud3323 솔루션을 수정했습니다. 여기에서 확인하십시오. http://jsfiddle.net/johngouf/WSwna/13/ 라코 디스

당신도 이런 일을 할 수있을 것 같아요 라코 디스

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top