hier ohne Umweg ist mein service.js:
app.service('myService',['$http',function($http){
this.getSomething = function($scope){
return $http({
method: "GET",
url: "...",
headers: {...}
}).success(function(response){
$scope.items = response;
}).error(function(response){
...
});
}
}]);
Hier mein controller.js ist:
app.controller('myController',['$scope','myService',function($scope,myService){
$scope.items = {};
myService.getSomething($scope);
}]);
Aber ich frage mich, ist es eine andere Möglichkeit, Web API zu nutzen, ohne den '$ scope' an die Funktion im Service zu übergeben? Zum Beispiel so (habe ich versucht, dies aber nicht):
...
this.getSomething = function(){
return $http({
...
}).success(function(response){
return response;
}).error ...
...
}
dann in der Steuerung:
...
$scope.items = myService.getSomething();
Ich schlage vor, Sie verwenden 'dann' anstelle von 'Erfolg' Funktion. siehe http://blog.ninja-squad.com/2015/05/28/angularjs-promises/ und https://www.peterbe.com/plog/promises-with-$http –