這裏是我的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){
...
});
}
}]);
這裏是我的controller.js:
app.controller('myController',['$scope','myService',function($scope,myService){
$scope.items = {};
myService.getSomething($scope);
}]);
但我想知道是否有另一種使用web api的方式是在不將'$ scope'傳遞給服務中的函數的情況下獲取?然後
...
this.getSomething = function(){
return $http({
...
}).success(function(response){
return response;
}).error ...
...
}
控制器:例如像這樣(我試過,但不起作用)
...
$scope.items = myService.getSomething();
我建議你使用'then'而不是'success'函數。看到這個http://blog.ninja-squad.com/2015/05/28/angularjs-promises/和https://www.peterbe.com/plog/promises-with-$http –