2016-04-27 10 views
0

Ich habe eine Texteingabe in einem Formular, das ich mit Daten, die ich von einem Versprechen bekomme, füllen möchte.Füllen Sie eine Texteingabe aus dem Bereich in angularjs

das ist meine Texteingabe:

<input type="text" name="lastname" id="lastname" class="form-control input-lg" 
ng-model="candidature.lastname" 
required> 

und in meinem Controller Ich habe dies:

candidatureService.get({id: $rootScope.username}).$promise.then(function (res) { 

     $scope.candidature = {}; 
     $scope.candidature.lastname = res.nom; 

//code... 

}).catch(function (err) { 
     console.log('Error getting data'); 
}); 

Wenn ich meine Anwendung batrang mit besichtigte ich, dass das Objekt candidature in $scope das hat sehen kann Wert, den ich mit diesem Versprechen bekomme:

enter image description here

Und wie Sie sehen können, habe ich ng-model="candidature.lastname".

Weiß jemand, warum die Texteingabe nicht den Wert aus dem Geltungsbereich erhält?

Vielen Dank im Voraus.

+0

Weisen Sie Ihre Antwortdaten zuerst cositure zu wie $ scope.candidature = res; dann erhalten Sie den Wert auf Formular. – Abhishekkumar

+0

@Abhishekkumar Wenn ich das gemacht habe, werde ich etwas wie $ $ scope.candidature.nom haben, das nicht funktioniert, da ich $ scope.candidature.lastname und nicht $ scope.candidature.nom füllen möchte –

+0

Deklarieren Sie $ scope.candidature = {}; vor der Service-Anfrage, dann wie es Dinge leer macht, so haben Sie keine Ausgabe auf dem Bildschirm – Abhishekkumar

Antwort

1

Versuchen erklärt $scope.candidature = {};, bevor Sie die API-Anfrage machen ...

Aber aus dem Code sieht es aus wie Sie nur $scope.candidature.lastname erklärt haben und nicht $scope.candidature.firstname.

+1

danke, dass das Problem war, musste ich das Objekt Kandidatur außerhalb der API-Anfrage für '$ scope.candidature.lastname' erklären, es war nur ein Fehler beim Tippen –

Verwandte Themen