Je tournais en rond à ce sujet et j'apprécierais toute aide. Essayer d'extraire des données d'api en service dans mon contrôleur et répéter les données retournées dans une ng-repeat.Renvoi des données du service au contrôleur
Avoir essayé d'approcher avec des résultats mitigés.
Approche 1:
usine
app.factory('getServiceData',function($http){
var getPosts = function(){
return $http.get("http://localhost:3000/posts")
.then(function(response){
console.log(response.data)
return response.data
})
}
Contrôleur
app.controller('myCtrl',['getServiceData','$scope','$http',
function($scope,$http,getServiceData){
getServiceData.getPosts().then(function(data){
$scope.posts = data;
}).catch(function(){
$scope.error ='unable to get posts';
});
Mes retours console "fournisseur 'getServiceData' doit retourner une valeur de $ obtenir la méthode de l'usine." Donc, ma promesse ne renvoie pas une valeur d'obtenir que je peux utiliser, mais je ne sais pas comment refactoriser.
Approche 2 utilise la détermination des ngRoutes pour tirer les données IPV avant que l'utilisateur accède à la page
Approche 2:
app.factory('getServiceData',function($http){
return {
var getPosts = function(){
return $http.get("http://localhost:3000/posts")
.then(function(response){
console.log(response.data)
return response.data
})
}
};
Config:
.when('/home.html', {
templateUrl: 'app/home.html',
controller: 'myCtrl',
resolve: {
'ServiceData': function(getServiceData){
return getServiceData.getPosts();
}
}
})
La deuxième approche retournera les données de mon API sur la réponse de console.log mais je suis incapable de l'afficher dans mon contrôleur.
C'était tout. J'avais mes dépendances répertoriées dans le mauvais ordre. Merci!! –