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

Popular posts from this blog

javascript - Bootstrap Popover: iOS Safari strange behaviour -

Website Login Issue developed in magento -

Can the constants be defined inside a model file of a framework in PHP? -