如果你不使用參考平等ngModel設置的選項,你可以依靠使用track by
表達基於ID平等(ID應該是每個選項是唯一的):
ng-options="x as x.description for x in formData.bloodTypes track by x.id"
然後你的ngModel user.bloodType可以被初始化爲一個參考不一定匹配的模型。
例如:
<select ng-model="selectedOption" ng-options="x
as x.description for x in bloodTypes track by x.id>
控制器:
app.controller('ctrl', function($scope) {
$scope.bloodTypes = [
{'id' : 1, 'description' : 'O+'},
{'id' : 2, 'description' : 'A'},
{'id' : 3, 'description' : 'B'},
];
// set initial selected option to blood type B
$scope.selectedOption = {'id' : 3, 'description' : 'B'};
});
或者,如果你想保留參考平等,你不要需要跟蹤:
app.controller('ctrl', function($scope) {
$scope.bloodTypes = [
{'id' : 1, 'description' : 'O+'},
{'id' : 2, 'description' : 'A'},
{'id' : 3, 'description' : 'B'},
];
// set initial selected option to blood type B
$scope.selectedOption = $scope.bloodTypes[2];
});
的可能的複製[如何使用angular JS設置下拉列表控件的選定選項(http://stackoverflow.com/questions/17968760/how-to-set-a-selected-選擇一個下拉列表控制使用angular-js) – M4N