ich eine Variable in einem Controller definiert haben:
app.controller('myController',['$scope','ajaxCall',function($scope,ajaxCall){
$scope.interviewer = {};
ajaxCall.get(/* A url */).then(function(response){
$scope.interviewer = response.data;
console.log($scope.interviewer);
});
console.log($scope.interviewer);
ajaxCall ist eine individuelle Dienstleistung, die Ajax-Anrufe zu tätigen, verwendet wird. Die innere Konsole funktioniert einwandfrei (d. H. Es werden die vollständigen Daten angezeigt), aber die äußere Konsole druckt ein leeres Objekt. Warum?
Dank @JB Nizet. Ich kannte dieses Konzept, konnte mir aber nicht vorstellen, dass es der Grund dafür ist. Aber ich muss die Daten in den meisten Teilen meines Controllers verwenden, also wie das geht, möchte ich nicht viel Code innerhalb des then schreiben() Funktion. –
Deklarieren Sie eine Funktion 'function init (response) {...}' und verwenden Sie 'ajaxCall.get (url) .then (init);' –