$http.get
bir söz verir. Sözünü fabrikadan iade edin ve ardından then
kullanarak kontrol ünitesinde çözün. Rotanızla olarak 1. hizmetinde getBooks işlevi çağırmak için bir kararlılık ekleyin:
app.factory("bookService", ["$rootScope","$http",
function($rootScope,$http,$q) {
var getBooks = function(){
return $http.get('books.json'); // returns a promise
}
return {
getBooks: getBooks
};
}]);
Ve daki fabrikasında
Eğer
app.controller("listController", ["$scope", "$location", "$routeParams", "bookService",
function($scope, $location, $routeParams, bookService) {
bookService.getBooks().then(function(data){ // resolve promise using then()
// successcallback
$scope.books = data;
});
}
]);
Sen birkaç şey yapabilirsiniz kontrolör ve $ http geri çağrıda, cevabınızı service.data nesnesine atayın. 2. Kontrol ünitenizdeki getBooks işlevini çağırabilir ve geri aranızda kitapları denetleyici nesnesine atayabilirsiniz. Her iki durumda da service.getBooks işleviniz $ http.get ('books.json'); – Rob
Şimdiye kadar, modül üzerinde nasıl uygulanacağını anladım, https://embed.plnkr.co/vuMzAxtDhJ7ZnYls32rO/ ama kontrolörde değil – user3387719
@ user3387719 Sizin plunker bağlantılarınız çalışmıyor – Hoyen