Angularjs выбирает значение по умолчанию при удаленной загрузке
-
21-12-2019 - |
Вопрос
Я пытаюсь установить значение по умолчанию в элементе SELECT, используя angular, и, похоже, оно не работает.Независимо от того, что я делаю, он всегда выбирает пустой элемент по умолчанию, когда данные загружаются удаленно в контроллер.
Вот мой HTML:
<select
ng-options="Domain.Name for Domain in Domains"
ng-model="CurrentDomain"
ng-init="CurrentDomain = Domains[0]"
></select>
Вот соответствующий код контроллера:
$scope.Domains = $resource('api/domain').query();
$scope.CurrentDomain = $scope.Domains[0];
Я понимаю, что этот вопрос задавался много раз, и я прочитал все остальные вопросы, но ни одно из предложений, похоже, не работает.Если у кого-то есть другие предложения, пожалуйста, дайте мне знать.
Спасибо.
Решение
Проблема в обещании. $scope.Domains
является обещанием и ожидает решения.Так, $scope.Domains[0]
в данный момент времени не определено.
Итак, правильный код приведен ниже
var Domains = $resource('api/domain').query(function(){
$scope.Domains = Domains;
$scope.CurrentDomain = Domains[0];
});
Версия Планкра - http://plnkr.co/edit/ppjSWDKT4lHWvEcY0PMC?p=preview
Ссылаться на https://github.com/angular/angular.js/issues/4298, ng-init
больше не может выполнить обещание.