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);
});
相关文章:
- Javascript:selenium Web驱动程序isDisplayed()不工作
- jQuery UI自动完成突然停止工作
- AngularJS UI路由器不能像ng路由器那样工作
- HTML5音频加载和播放获胜'我不能在iPad上工作
- JavaScript打印功能使日历停止工作
- Javascript.getHours()工作不正常
- 为什么这在IE中的工作方式与在Firefox中不同
- 视频HTML没有'无法在Internet Explorer 11上工作
- 扩展移相器按钮类不工作
- Firebase迁移-简单的Firebase.set没有'不再工作了——旧的还是新的
- 谷歌地图不是以HTML显示,而是在JS Fiddle上工作
- 正在尝试使用if和else添加类,但无法正常工作
- Jquery FadeIn FadeOut 只工作一次
- Foreach无法在Typescript中工作
- 另一个ajax调用中的Jquery ajax调用在for循环中没有按预期工作
- 为什么不是't窗口.恢复正常工作吗?(javascript/jquery)
- JS可以在Chrome中工作,但不能在Firefox中工作
- 最大高度转换不;不工作,工作缓慢
- Gulp-rev:不是第一次工作,而是在第一次工作之后工作
- JQuery - Ajax: encodeUriComponent不工作(EncodeUri工作)