AngularJS Selezionare predefinita durante il caricamento da remoto
-
21-12-2019 - |
Domanda
Sto cercando di avere un valore predefinito in un elemento selezionato usando angolare e non sembra funzionare.Non importa cosa faccio, seleziona sempre un elemento predefinito vuoto, quando i dati vengono caricati da remoto nel controller
Ecco il mio html:
<select
ng-options="Domain.Name for Domain in Domains"
ng-model="CurrentDomain"
ng-init="CurrentDomain = Domains[0]"
></select>
.
Ecco il codice del controller pertinente:
$scope.Domains = $resource('api/domain').query();
$scope.CurrentDomain = $scope.Domains[0];
.
Mi rendo conto che questa domanda è stata posta molte volte, e ho letto tutte le altre domande, ma nessuno dei suggerimenti sembra funzionare.Se qualcuno ha altri suggerimenti, per favore fammi sapere.
Grazie.
Soluzione
Il problema è la promessa.$scope.Domains
è promessa e in attesa di risolvere.Quindi, $scope.Domains[0]
non è definito in quel momento.
Quindi, il codice corretto è come sotto
var Domains = $resource('api/domain').query(function(){
$scope.Domains = Domains;
$scope.CurrentDomain = Domains[0];
});
.
Plunkr Version - http://plnkr.co/edit/ppjswdkt4lhwvecy0pmc?p=previeweleth
Fare riferimento a https://github.com/angular/angular.js/issues/4298 , ng-init
non è più in grado di risolvere la promessa.