簡體   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