Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/424.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在控制器内使用$localStorage_Javascript_Angularjs - Fatal编程技术网

Javascript 在控制器内使用$localStorage

Javascript 在控制器内使用$localStorage,javascript,angularjs,Javascript,Angularjs,说明: 我有一个用户信息屏幕,当选择了save时,我们可以在其中获取用户详细信息并将其存储在数据库中(该屏幕仅激活一次)。我在我的控制器中使用$localStorage,以便保存用户输入的数据,以便在关闭和打开应用程序时,存在相同的信息。此外,编辑信息时,应在设置中看到更改,并将其存储在数据库和$localStorage中 问题: 当我试图保存数据时,Im获取错误错误:[$injector:unpr]未知提供程序:$localStorageProvider 错误:[$injector:unpr]

说明:

我有一个用户信息屏幕,当选择了
save
时,我们可以在其中获取用户详细信息并将其存储在数据库中(该屏幕仅激活一次)。我在我的控制器中使用
$localStorage
,以便保存用户输入的数据,以便在关闭和打开应用程序时,存在相同的信息。此外,编辑信息时,应在设置中看到更改,并将其存储在数据库和
$localStorage

问题:

当我试图保存数据时,Im获取错误
错误:[$injector:unpr]未知提供程序:$localStorageProvider
错误:[$injector:unpr]未知提供程序:

如果错过依赖项,则始终会引发此错误。这是要使用
$localstorage
必须添加的模块。看看模块和语法


或者您可以使用
$window.localStorage
,确保
$window
位于参数部分

确保已正确安装localstorage模块并将其添加到项目中: :

获取一个值:

myApp.controller('MainCtrl', function($scope, localStorageService) {
  //...
  function getItem(key) {
   return localStorageService.get(key);
  }
  //...
});
因此,对于您的控制器,它将是这样的:

myApp.controller('userInfo',function($scope, $state, localStorageService, userDataManagement){

       $scope.Add=function(){
             var userData={'name':$scope.name, 'dob':$scope.dob, 'interest':$sope.interest};
             localStorageService.set("savedInfo",userData);
           userDataManagement.postData(userData,error);
};
         $scope.update=function(){
             var userData2 = {'name':$scope.name, 'dob':$scope.dob, 'interest':$scope.interest);
            localStorageService.set("updateInfo", userData2;
            userDataManagement.postData(userData2,error);
              };
})

我使用了
LocalStorageModule
,但仍然存在相同的错误。“你能给出有效的代码吗?这样理解起来就容易多了。”jazzoria我在我的答案中添加了你的代码的编辑版本。
<!doctype html>
<html ng-app="myApp">
<head>

</head>
<body>
    ...
    <script src="//ajax.googleapis.com/ajax/libs/angularjs/1.1.5/angular.min.js"></script>
    <script src="bower_components/js/angular-local-storage.min.js"></script>
    ...
    <script>
        var myApp = angular.module('myApp', ['LocalStorageModule']);

    </script>
    ...
</body>
</html>
myApp.controller('MainCtrl', function($scope, localStorageService) {
  //...
  function submit(key, val) {
   return localStorageService.set(key, val);
  }
  //...
});
myApp.controller('MainCtrl', function($scope, localStorageService) {
  //...
  function getItem(key) {
   return localStorageService.get(key);
  }
  //...
});
myApp.controller('userInfo',function($scope, $state, localStorageService, userDataManagement){

       $scope.Add=function(){
             var userData={'name':$scope.name, 'dob':$scope.dob, 'interest':$sope.interest};
             localStorageService.set("savedInfo",userData);
           userDataManagement.postData(userData,error);
};
         $scope.update=function(){
             var userData2 = {'name':$scope.name, 'dob':$scope.dob, 'interest':$scope.interest);
            localStorageService.set("updateInfo", userData2;
            userDataManagement.postData(userData2,error);
              };
})