ng选项和ng-repeat如何不同?
在下面的代码中,我有一个ng-repeat可以遍历一个列表:
<select ng-model="selectedPerson" >
<option ng-repeat="obj in people" value="{{obj.id}}">{{obj.name}}</option>
</select>
以下是我认为是使用ng选项的等效选择框:
<select ng-model="selectedPerson" ng-options='obj.name for obj in people'></select>
我希望他们的行为是一样的,但是他们不会。为什么?
$scope.people = [
{
id: 0,name: 'Leon',music: [
'Rock','Metal','dubstep','Electro'
]
},
ng-repeat为每次迭代创建一个新的范围,因此不会像ng选项一样执行。
对于小列表,这并不重要,但较大的列表应使用ng选项。除此之外,它在指定迭代器方面提供了很大的灵活性,并提供了超越重复的性能优势。