Я использую угловой 1.2.28, и у меня есть контроллер с простым массивом значений:
$scope.transTypes = ['Write-Off', 'Adjustment'];
$scope.selectedType = 'Adjustment'
который я использую для заполнения раскрывающегося элемента <select>
.
Если я создаю такую уценку (без атрибута "value"), то отображается правильное значение:
<select ng-model="selectedType">
<option ng-repeat="type in transTypes">{{type}}</option>
</select>
Когда я создаю свою уценку с атрибутом "значение", отображается неправильное значение:
<select ng-model="selectedType">
<option ng-repeat="type in transTypes" value="{{type}}">{{type}}</option>
</select>
Plunker: http://plnkr.co/edit/lRqZSrxwEle3qUtT9cxi?p=preview
Я использовал ng-value
в вашем плункере, и он работал нормально, возможно, что угловые искали ценность в более новых версиях для устранения таких проблем.
Просто переименуйте: ng-value="type"
. Это будет работать.
<select ng-model="selectedType">
<option ng-repeat="type in transTypes" ng-value="type">{{type}}</option>
</select>
Вам нужно создать контроллер для передачи переменных в dom. Например:
HTML:
<html ng-app="App">
<body ng-controller="myController as myCtrl">
<select ng-model="myCtrl.selectedType">
<option ng-repeat="type in myCtrl.transTypes">{{type}}</option>
</select>
</body>
</html>
JS:
angular.module('App', [])
.controller('myController', function() {
var _this = this;
_this.transTypes = ['Write-Off', 'Adjustment'];
_this.selectedType = 'Adjustment'
});
Вы можете увидеть в действии:
Я попробовал обновить до последней версии углового 1.3, но ошибка осталась. Когда я поднялся до углового 1.4, ошибка, похоже, исчезла.
Работает над версией 1.4: http://plnkr.co/edit/cbIRgGViOyxeQ9t3PKbK?p=preview
Возможно, что более ранняя версия углов не поддерживает установку атрибута "значение".
ignore this line, can't submit without code snippet.
ng-options
в вашем случае!