angular ui router - AngularJS service not setting data correctly -
i have service:
myapp.factory('auth', function() { var user; return { setuser: function(auser) { user = auser; }, isloggedin: function() { return (user) ? user : false; } } }); and i'm injecting controller "loginctrl" , setting user:
myapp.controller('loginctrl', ['$scope', '$http', '$state', 'auth', function($scope, $http, $state, auth) { $scope.login = function() { $http.post('/login', $scope.local).success(function(response) { auth.setuser($scope.local); console.log(auth); console.log(auth.user); $state.go('news'); }); }; } ]); auth.setuser never seems job console logs after return "undefined". doing wrong? thanks!
you need add auth service:
getuser: function () { return user; } otherwise, can't access variables declared within auth service, because protected. items expose through return object accessible.
console.log("user:", auth.getuser());
Comments
Post a Comment