2016-04-09 12 views
-1
definiert

: Ich bin Winkel- und ich habe einige Tests durchführen und in diesem Tutorial stecken, wo es heißt: angular.min.js: 116 Reference: Antwort ist nicht auf onUserCompleteAngular Reference: Antwort nicht

var app = angular.module('example', []); 
    var mainController = function($scope, $http){ 

     var onUserComplete = function($scope){ 
      $scope.user = response.data; 
     } 

     var onError= function(reason){ 
      $scope.error = "Could not fetch data"; 
     } 

     $scope.search = function(username){ 
      $http.get("https://api.github.com/users/"+username) 
      .then(onUserComplete, onError); 
      $scope.username = "angular"; 
      $scope.message = "Hello World" 
     } 
    } 
    app.controller('mainController', mainController); 

Vielen Dank !!!

+1

Änderung 'var onUserComplete gp = Funktion verwenden können ($ scope) 'to' var onUserComplete = Funktion (Antwort) ' – Daniel

+0

Danke Daniel !!! –

Antwort

0

Wenn Sie genauer hinsehen, arbeitet Ihre Funktion onUserComplete() mit einer response Variablen, hat diese Variable aber trotzdem nicht erhalten. Sie müssen es in einen Pass zu spielen.

Als Daniel vorgeschlagen, die Korrektur das Funktionsargument zu response zu ändern ist (das ist, was die Funktion aus dem $http Objekt erhalten.

var app = angular.module('example', []); 
 
    var mainController = function($scope, $http){ 
 

 
     var onUserComplete = function(response){ 
 
      $scope.user = response.data; 
 
     } 
 

 
     var onError= function(reason){ 
 
      $scope.error = "Could not fetch data"; 
 
     } 
 

 
     $scope.search = function(username){ 
 
      $http.get("https://api.github.com/users/"+username) 
 
      .then(onUserComplete, onError); 
 
      $scope.username = "angular"; 
 
      $scope.message = "Hello World" 
 
     } 
 
    } 
 
    app.controller('mainController', mainController);

1

Hier ist es nicht sinnvoll, Ihr $ scope als Parameter in der Funktion zu senden, versuchen Sie, dies auch nach dem Tutorial zu vermeiden.

Ich denke das Tutorial möchte, dass Sie $scope zu response hier

var onUserComplete = function(response){ 
    $scope.user = response.data; 
} 

Hier zuweisen Sie die Daten Ihrer Antwort auf die scope.user ändern, in dem Sie es überall die $scope kann

Verwandte Themen