Comment appeler la fonction de service dans un contrôleur avec AngularJS?
Je vais essayer d'appeler une fonction à partir d'un service dans un contrôleur, mais j'obtiens un message d'erreur disant que la chose dont je suis l'appelant n'est pas une fonction. Je suis nouveau sur AngularJS donc je ne suis pas exactement sûr de ce que je fais mal. Alors, quelle est la bonne façon d'appeler une fonction de service dans un contrôleur?
Je suis en train d'appeler getCurrentUserInfo
dans le ProfileCtrl
.service('AuthService', function($http, Backand){
function getCurrentUserInfo() {
return $http({
method: 'GET',
url: baseUrl + "users",
params: {
filter: JSON.stringify([{
fieldName: "email",
operator: "contains",
value: self.currentUser.name
}])
}
}).then(function (response) {
if (response.data && response.data.data && response.data.data.length == 1)
return response.data.data[0];
});
}
})
.controller('ProfileCtrl', ['$scope', '$ionicSideMenuDelegate', 'AuthService', function($scope, $ionicSideMenuDelegate, AuthService) {
AuthService.getCurrentUserInfo().then(function(response){
$scope.user = response.data.data;
});
// function getCurrentUserInfo() {
// AuthService.getCurrentUserInfo()
// .then(function (result) {
// $scope.user = result.data;
// });
// }
}])
avez-vous d'inclure tous les fichiers js dans votre index.html la page?
fdietz.github.io/recettes-avec-angular-js/controllers/...
fdietz.github.io/recettes-avec-angular-js/controllers/...
OriginalL'auteur | 2016-03-09
Vous devez vous connecter pour publier un commentaire.
Vous avez besoin pour en faire une propriété de
this
.Puis dans votre contrôleur
Edit: en Fait, permettez-moi de fournir un peu de contexte. Angulaire applique la
new
fonction à chaque.service(....)
- vous d'inclure dans votre contrôleur. Comme nous le savons, l'appel de cette.aFunction dans une fonction constructeur causes de lanew
opérateur en javascript pour traiter laaFunction
fonctionner comme une propriété sur l'objet de votre constructeur retourne.OriginalL'auteur OceansOnPluto