无法将ngStorage注入我的控制器

时间:2018-11-11 14:56:18

标签: angularjs ng-storage

嗨,我正在尝试注入ngtorage来在本地处理会话,我尝试了其他方法来完成此操作,但没有结果:

这是我的app.js

     var myApp = angular.module('myApp', ['ngStorage']);

loginController.js在一个单独的文件中:

    myApp.controller('logincontroller', ['$scope', '$http','log', function($scope, $http ,log,$sessionStorage)
 { 

$scope.auth = function(){ 

  log.logIn($scope.pseudo,$scope.pwd).
then(function(data){
 if (data.data.log == true){
    $scope.logged = true;
    $scope.success = "Hey ! t'es connect";
    $sessionStorage.user = data.data.pseudo;
 }else 
 {
    $scope.erreur = "connexion echouée";
    $scope.error = true;
 }

 }); 
 }
 }]);

和authSerivce.js我正在注入控制器的服务

     angular.module('myApp').factory('log', ['$http', function($http){
return{
    /*Check whether the user is logged in
    * @returns boolean
    */
   isLoggedIn: function isLoggedIn(){
     return session.getUser() !== null;
    },


/*Log in
* @param credentials
* @returns {*|Promise}
*/
logIn: function(username, pwd){
    return $http
     .post('/login', {'username':
    username, 'pwd': pwd})
     .success(function(data){
      if (data.log == true){
          console.log(data);
          //$localstorage.user= data.pseudo;
          return data;
      }

     }).error(function(data){
        return data;
     });
     },


/* Log out : on peut se poser la question d'une requête HTTP ! pour faire le
ménage côté serveur ?!
* @returns {*|Promise}
*/

 logOut: function(){
    return $http
    .get('/logout')
    .then(function(response){
    // Destroy session in the browser
    session.destroy();
    return(response.data);
    });
    }
}
  }]);

行返回错误为

  $sessionStorage.user = data.data.pseudo;

错误是无法设置未定义的属性“用户”

帮助非常感谢的人

1 个答案:

答案 0 :(得分:0)

您按参数顺序缺少 $sessionStorage ,如下更改

myApp.controller('logincontroller', ['$scope', '$http','log','$sessionStorage',
  function($scope, $http ,log,$sessionStorage)