我在一个项目中使用AngularJS并且已经读过可以通过在ng-options
上使用track来优化某些性能。
在代码正常工作之前,看起来像这样:
<select ng-disabled="ctrl.FilteredProjects.length < 2"
class="filterDropDown col-sm-12"
ng-change="ctrl.UpdateFilteredTasks(); ctrl.GetProjectSummary(ctrl.filter.ProjectId);"
ng-model="ctrl.filter.ProjectId"
ng-options="x.Id as x.ProjectName for x in ctrl.FilteredProjects | orderBy : 'ProjectName'">
<option value="">-All-</option>
</select>
ng-options
与ng-model很好地同步,但在我添加:ng-options="x.Id as x.ProjectName for x in ctrl.FilteredProjects | orderBy : 'ProjectName' track by x.Id">
之后
ng-model和ng-options
之间的联系破裂了。
我没有得到任何JavaScript错误,然后当我更新ng-options
时,模型也会更新。所以问题就在于我加载页面并希望使用模型在ng-option
中设置值。
我做错了什么?