Какова цель trackexpr (track by) в ng-options
при использовании Angular 1.3?Какова цель «track by» на «ng-options»
В Angular 1.2 это выражение изменило выражения value=""
на сгенерированные параметры, чтобы соответствовать результату trackexpr для каждого элемента коллекции. Это больше не относится к Angular 1.3, за этот jsfiddle: http://jsfiddle.net/3fzkym3m/. Теперь параметры имеют только инкрементные значения.
В угловыми 1.2, генерируемый список опций:
<select ng-options="item.text for item in data track by item.value" ng-model="selectedItem" class="ng-pristine ng-valid">
<option value="" class=""> - Select item - </option>
<option value="4">item1</option>
<option value="12">item2</option>
<option value="11">item3</option>
<option value="19">item4</option>
<option value="17">item5</option>
<option value="26">item6</option>
</select>
В угловыми 1.3, генерируемый список опций:
<select ng-options="item.text for item in data track by item.value" ng-model="selectedItem" class="ng-pristine ng-untouched ng-valid">
<option value="" class=""> - Select item - </option>
<option value="0">item1</option>
<option value="1">item2</option>
<option value="2">item3</option>
<option value="3">item4</option>
<option value="4">item5</option>
<option value="5">item6</option>
</select>
угловато все еще использует трэк для соответствия объектов между источником коллекции и выбранного элемента? Есть ли преимущество в производительности для этого? Почему это изменилось между Angular 1.2 и 1.3?
Также была создана проблема с GH: https://github.com/angular/angular.js/issues/9960 –