2013-12-08 3 views
3

ng-repeat를 사용하여 List 이외의 작업을 반복하는 것은 불가능한 것처럼 보입니다.ng-repeat는 List를 반복 처리하고 반복 가능하지 않으며 반복 가능하지 않습니다.

예를 들어, 이상하게 다음 코드는 작동하지 않습니다

<span ng-repeat="i in [1, 2, 3].toSet()>{{i}}</span> 

를 예외가 패키지를 던져 : 각도는/지침은/ng_repeat.dart : 126 : 8 :

type '_LinkedHashSet' is not a subtype of type 'List' 

이 보인다 ng-repead를 적절한 List로 제한하는 것은 매우 제한적입니다. ng-repeat는 List뿐 아니라 모든 iterable에 대해 반복 할 수 있습니다.

올리버

+0

왜 세트를 사용 하시겠습니까? 설명 할 수 있니? –

+1

세트가 요소의 순서를 명확하게 정의하지 않았고, 순서가 시간에 따라 다르거 나 불확정하다면, 모든 목록을 $'digest' 루프 반복마다 변경하지 않을 것입니다. 게다가, 내가 말할 수있는 한 자바 스크립트에는'Iterable' 인터페이스가 없습니다. –

+0

좋아, 난 세트를 사용하고 싶지 않았어, 나는 생성 된 iterable : myList.where ((x) => myfilter (x)를 사용하고 싶었고,리스트를 재현하기 위해 추가했다 : myList.where (x) => myfilter (x)). toList(). 집합에 관해서는 집합이 주문 집합이 될 수 있으므로 이해할 수 있습니다 .ng-repeat를 사용할 때마다 목록을 만들겠습니까? – odwl

답변

3

그것은 ng-repeat 지원하지 않는 Iterable[] 연산자 주로 의존하기 때문에 알려진 제한 (https://github.com/angular/angular.dart/issues/292)이다. 즉, 각도는 내부적으로 IterableList으로 변환 할 수 있으므로 사용자가 쉽게 사용할 수 있습니다.

+0

https ://github.com/angular/angular.dart/issues/292 - 수정 됨 – pavelgj

관련 문제