Bonjour,
J'ai un petit problème avec AngularJS.
J'essaye d'appeler une fonction (depuis un contrôleur) se trouvant dans un service mais Angular me retourne une erreur.
=> Elle se trouve dans une variable => var maVar = function() { //etc… };
J'ai essayé nomDuService.maVar(); mais j'ai une erreur du genre 'nomDuService.maVar();' is not a function
Je ne comprend pas pourquoi donc je fait appel à vous
Voici l'erreur :
Et le code :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 | login.service("authentication", ["$http", "$window", function($http, $window) { var saveToken = function(token) { // Sauvegarde $window.localStorage["mean-token"] = token // Sauve le token en local }; var getToken = function() { // Récupération return $window.localStorage["mean-token"]; }; var logout = function() { // Déconneion $window.localStorage.removeItem("mean-token"); }; var isLoggedIn = function(token) { var token = getToken(); var payload; if (token) { payload = token.split(".")[1]; // Split le token lors d'un "." et on retourne l'élément d'index [1] payload = $window.atob(payload); // Décode payload = JSON.parse(payload); // Parse en JSON if (payload.exp > Date.now() / 1000) return true; // True si date n'est pas dépassée } else { return false; } }; var currentUser = function() { // La fonction en question ============================== var token = getToken(); var payload; if (isLoggedIn()) { payload = token.split(".")[1]; // Split le token lors d'un "." et on retourne l'élément d'index [1] payload = $window.atob(payload); // Décode payload = JSON.parse(payload); // Parse en JSON console.log(payload); return { mail: payload.mail, lastname: payload.lastname }; } }; return { // On renvoi tout dans un objet saveToken: saveToken, getToken: getToken, logout: logout, isLoggedIn: isLoggedIn }; }]); // Contrôleur home login.controller("MainCtrl", function($rootScope, authentication) { $rootScope.title = "Bienvenue" $rootScope.sent = false; //console.log(authentication.isLoggedIn()); $rootScope.isLoggedIn = authentication.isLoggedIn(); $rootScope.currentUser = authentication.currentUser(); // ICI => TypeError: authentication.currentUser is not a function ======= }); |
Merci d'avance
+0
-0