orderBy
테이블의 순서는 잃어 버리고 $index
값은 원래 배열이 아닌 정렬 된 배열의 값입니다.각도 다음에 중간 색인을 얻으십시오.
- apple $index = 0
- banana $index = 1
- orange $index = 2
- potato $index = 3
을 그리고 당신이 지금 orange($index = 2)
apple($index = 0)
사이에 선택 항목을 다중 싶은 경우에 당신이 생각할 수 있습니다 : 그래서 당신이 UI에 orderBy
후, 당신의 ng-repeat
에 items
배열 ['orange', 'banana','potato','apple']
를 전달하면이처럼 표시됩니다 작동 할 것입니다 :
for(index = 0; index <= 2; index++)
console.log(items[index])
잘못된 것입니다, 그것은 인쇄 할 것입니다 : [orange, banana, potato]
; not [apple, banana, orange]
.
주문 후 표시된 배열의 간격 인덱스를 얻는 방법을 찾고 있습니다. 어떤 아이디어입니까?
편집 :는 UI에 당신이 items
을 분류했다고 가정 한 다음 사과를 선택 명확히하고 오렌지 선택 :
✓ apple
banana
✓ orange
potato
내가 방법을 선택 그 둘 사이에서 items
을 알고 싶어를, 그 사이에 모두를 선택할 수 있도록 banana
입니다.
<tr ng-repeat="item in items | index | orderBy:'Store.storeName'">
을 한 후 HTML에 당신은 $ 지수 대신 item.index를 사용할 수 있습니다
$ index 대신 item을 사용하고 $ scope.items.indexOf (item)를 사용하여 원본 색인을 얻을 수 있습니다. 작업 예제에서는 다음 링크로 이동할 수 있습니다. 에 http : // jsfiddle.net/0uksemjs/ – chandings
보기에서 필터를 사용하면 제시 목적으로 데이터를 형식화/수정합니다. 필터링 된/정렬 된 배열의 인덱스를 사용해야하는 이유에 대해 자세히 설명 할 수 있습니까? 그리고 프리젠 테이션 목적 이상의 것이라면'$ filter ("orderBy")'를 사용하여 컨트롤러에 정렬 된 복사본을 생성해야합니다. –
@NewDev 뷰에 항목을 여러 개 선택하기 때문에 인덱스가 필요합니다. 그래서 apple을 선택한 다음 오렌지색을 선택하면 오렌지색이'orderBy'에 관계없이 자동으로 선택되기를 원합니다 – anvarik