Я пытаюсь перенести angularjs с 1,5 до 1,7 в моем приложении.
У меня есть данные моей модели, как показано ниже:
$scope.colors = [
{name:'black', shade:'dark'},
{name:'yellow', shade:'light'}
];
$scope.myColor = '';
HTML:
<label>Color :
<select ng-model="myColor"
ng-options="color.name for color in colors">
<option value="">-- choose color --</option>
</select>
С $scope.myColor
- пустая строка, angular отображает дополнительный <option value="?"></option>
в выпадающем списке, как показано ниже.
<select ng-model="myColor" ng-options="color.name for color in colors" class="ng-pristine ng-untouched ng-valid ng-empty">
<option value="?" selected="selected"></option>
<option value="">--choose color --</option>
<option label="black" value="object:3">black</option>
<option label="yellow" value="object:4">yellow</option>
</select>
Есть ли способ избежать отображения <option value="?"></option>
и установить его по умолчанию на <option value="">--choose color --</option>
, когда $scope.myColor
имеет пустое значение?
Это работало, как и ожидалось, с углом 1,5.
Вот плункер: https://plnkr.co/edit/g0rVjBpM2qLrGuweP19E?p=preview
edit : @FDavidov, @Houssein, @Aleksey предложил мне использовать $scope.myColor = null
в приведенных ниже ответах.Спасибо за это.Но это серьезное изменение в моей кодовой базе корпоративных приложений.Я пытаюсь выяснить, есть ли другой способ добиться того же с изменением HTML.