2016-04-05 15 views
0

IM bekommen zwei Fehler in meinem Dienst. Sie sind beide die gleichen Fehler. Ich werde meinen Service und meinen Controller veröffentlichen.TypeError: Eigenschaft 'firstData' von undefined kann nicht gesetzt werden

Das ist mein Service:

getData: function (dataRecievedCallback, schemeid, userid) { 

      //Average JSON api 
      averageData = function() { 
       return $http.get(first.json) 
      } 


      //User JSON api 
      userData = function() { 
       return $http.get(second.json) 

      } 

Und hier ist mein Controller:

serviceName.averageData().then(function (response) { 
       $scope.firstData = response.data; 
      }); 


      serviceName.userData().then(function (response) { 
       $scope.secondData = response.data; 
      }); 

Ich möchte nicht meine Daten, die ich es angezeigt werden soll erarbeiten, wie es ist. In meinem HTML habe ich eine ng-Wiederholung, wie kann ich beides in meinem Ausdruck hinzufügen? Hier

+0

Sieht aus wie $ scope nicht gesetzt ist, wo ist, dass Variable kommt von? – Douglas

+0

Ich habe eine getData-Funktion und $ scope ist einer der Parameter. – 4rh4m97

+0

Sie sollten nicht $ scope in Ihrem Dienst haben, sollten Sie das Versprechen an den Controller zurückgeben und dann die Antwort verwenden – war1oc

Antwort

0

ist ein Beispiel zu zeigen, wie diese eingesetzt werden sollte:

Service:

methodName: function() { 
    return $http.get(first.json); 
} 

Controller:

ServiceName.methodName().then(function(response) { 
    $scope.firstData = response.data; 
    }).catch(function(error) { 
    console.log(error); // See the error in console if any 
    }); 
+0

scheint nicht zu funktionieren, ich bekomme keine Fehlermeldung – 4rh4m97

+0

Ich habe meinen Code bearbeitet und ich bekomme den Fehler "servicename.averageData ist keine Funktion" – 4rh4m97

+0

haben Sie den Service? und hast du es in deinen Controller injiziert? – war1oc