Code service :
app.service('getTicketList', function($q, $http){
this.data = {};
this.getData = function(id){
var deferred = $q.defer();
var path='ticket.action?method:projectTickets';
if(id)
path+='&projectId='+id.toString();
$http.get(path).then(function(d){
//success
this.data = d;
deferred.resolve(d);
},function(){
//failure
deferred.reject(d);
});
}
});
code du contrôleur :
app.controller('projectController', function($scope,getTicketList) {
$scope.tickets=getTicketList.getData($scope.projectId).data.tickets;
});
Il y a un problème avec le code du contrôleur. Je ne parviens pas à obtenir les données en utilisant getTicketList.data, c'est {}. Et je ne sais pas comment transmettre les paramètres. . . .
1. Utilisez le retour au lieu de cela dans le service
2. Utilisez le mode promesse lorsque vous appelez
Cette façon de passer les paramètres est erronée. Je ne l'ai jamais utilisée comme ça. Il y a un projet ici Trouvez le contrôleur.service correspondant et jetez un œil
https://github.com/LittleDouBi/community<.>
Vous devez utiliser le mode promesse :