Angularjs ng repeat仅用于迭代列表,而不是Iterable或Set

Angularjs ng repeat仅用于迭代列表,而不是Iterable或Set,angularjs,dart,angular-dart,Angularjs,Dart,Angular Dart,除了使用ng repeat遍历列表之外,似乎不可能遍历其他任何内容 例如,奇怪的是,以下代码不起作用: <span ng-repeat="i in [1, 2, 3].toSet()>{{i}}</span> 将ng repead限制在适当的列表中似乎非常严格。 有可能让ng在任何iterable上重复迭代,而不仅仅是列表 Oliver这是一个已知的限制(),主要是因为ng repeat依赖于[]运算符,而Iterable不支持该运算符。这就是说,angular可以在内

除了使用ng repeat遍历列表之外,似乎不可能遍历其他任何内容

例如,奇怪的是,以下代码不起作用:

<span ng-repeat="i in [1, 2, 3].toSet()>{{i}}</span>
将ng repead限制在适当的列表中似乎非常严格。 有可能让ng在任何iterable上重复迭代,而不仅仅是列表


Oliver

这是一个已知的限制(),主要是因为
ng repeat
依赖于
[]
运算符,而
Iterable
不支持该运算符。这就是说,angular可以在内部将
Iterable
转换为
List
,使用户更方便。

为什么要使用Set?你能描述一下吗?一个集合没有明确定义其元素的顺序,如果顺序与时间有关或不确定,那么我宁愿不让我的列表随着每次
$digest
循环迭代而改变。此外,据我所知,Javascript中没有
Iterable
接口。好的,我不想使用Set,我想使用生成的Iterable:myList.where((x)=>myfilter(x),为了使其工作,我添加了一个重新创建列表:myList.where((x)=>myfilter(x)).toList().关于集合,集合可以是一个有序的集合,这样它才有意义。我们是否要在每次使用ng repeat时创建一个列表?
type '_LinkedHashSet' is not a subtype of type 'List'