繁体   English   中英

angularjs localstorage无法正常工作?

[英]angularjs localstorage not working properly?

我使用本地存储。 第一次访问该页面时,我得到的是旧的本地存储值。 刷新时,我会得到当前值。 如何避免此错误? 每次我只需要当前的本地存储值。 我在这段代码中加上了一点。 我尚未安装ngstorage。 有人可以告诉我,是否需要安装ngstorage?

 .controller('SignInCtrl', [ '$scope','$http' ,'$location','$window', function($scope,$http, $location,$window) { $scope.signin = function() { $http.post('***', userdetails).success(function(data,response) { var nameResponse = JSON.stringify(data.Name); window.localStorage.setItem("name",nameResponse); }) } }]) .controller('MyprofileCtrl', [ '$scope','$http' ,'$location','$window', function($scope,$http, $location,$window) { var name=$window.localStorage.getItem("name"); //console.log(name); if(name == null) { $scope.loginstatus ="Sign Up With Us"; console.log($scope.loginstatus); }else { $scope.loginstatus ='Welcome '+ name.replace(/\\"/g, ""); console.log($scope.loginstatus); } }]) 

是的,您必须使用ngstorage模块。

 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <title></title> <link rel="stylesheet" href=""> <script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.4.3/angular.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/ngStorage/0.3.7/ngStorage.min.js"></script> </head> <body ng-app="myModule"> <div ng-controller="myCtrl"> <button ng-click="save()">Save</button> <button ng-click="load()">Load</button> <input type="text" ng-model="txt"> {{myData}} </div> </body> <script> var myModule = angular.module("myModule", ["ngStorage"]); myModule.controller("myCtrl", function($scope, $localStorage) { $scope.txt = "prabhu"; $scope.save = function() { alert($scope.txt) $localStorage.message = $scope.txt; } $scope.load = function() { $scope.myData = $localStorage.message; } }); </script> </html> 

不,不需要ngStorage,我希望将$ window的依赖项正确注入到控制器中。

尝试这个:

var app = angular.module('your-app', ['the-dependent-modules']);

app.controller('loginPageController', function($window) {
   $window.localStorage.setItem('user-name', 'John');
});

app.controller('myProfilePageController', function($window, $log) {
   var username = $window.localStorage.getItem('user-name');
   $log.debug('username : ' + username);
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM