angularjs - 本地存储未正确加载
angularjs - localstorage not loading properly
我正在为一个学校项目开发一个小网络应用程序,我将用户数据存储在本地存储中,如下所示:
UserService.login($scope.user).then(function (response){
if(response.data.Error){
$scope.credentialsError = true;
}else{
$rootScope.cliente = response.data.result;
localStorageService.set('cliente', $rootScope.cliente);
$location.path('/dashboard');
}
});
只要我留在页面中,一切正常,用户仍在 $rootScope 中做这件事。当我重新加载时,问题就来了。
启动时我 运行 这个:
angular.module('app-gp').run([
"$rootScope", "localStorageService", "$state", function($state,localStorageService, $rootScope) {
$rootScope.cliente = localStorageService.get('cliente');
}]);
这似乎可以正确地从本地存储中获取用户数据。但是,当我从控制器或模板请求 $rootScope.cliente 时,我得到了 undefined.
感谢您的帮助。
请确保localStorageService 正常运行。我不确定 localStorageService 的实现,但请注意 localStorage 仅支持字符串值,您必须将 response.data.result 转换为字符串。在 chrome 中,您可以使用开发人员工具 -> 资源选项卡并查看 "Local Storage" 并查看存储是否实际发生。
理想情况下,我会把它作为评论发布,但在这个网站上还没有足够的声誉来做到这一点..
您的代码看起来不错但是本地存储服务的实现可能有问题。
您应该使用众所周知的 ngStorage 服务来完成这项工作。
https://github.com/gsklee/ngStorage
过了一段时间我设法解决了这个问题。
似乎这与 localStorageservice 无关,我所做的是重新排列:
angular.module('app-gp').run(["$rootScope", "localStorageService", "$state", function($rootScope, localStorageService, $state) {
它奏效了...
我正在为一个学校项目开发一个小网络应用程序,我将用户数据存储在本地存储中,如下所示:
UserService.login($scope.user).then(function (response){
if(response.data.Error){
$scope.credentialsError = true;
}else{
$rootScope.cliente = response.data.result;
localStorageService.set('cliente', $rootScope.cliente);
$location.path('/dashboard');
}
});
只要我留在页面中,一切正常,用户仍在 $rootScope 中做这件事。当我重新加载时,问题就来了。 启动时我 运行 这个:
angular.module('app-gp').run([
"$rootScope", "localStorageService", "$state", function($state,localStorageService, $rootScope) {
$rootScope.cliente = localStorageService.get('cliente');
}]);
这似乎可以正确地从本地存储中获取用户数据。但是,当我从控制器或模板请求 $rootScope.cliente 时,我得到了 undefined.
感谢您的帮助。
请确保localStorageService 正常运行。我不确定 localStorageService 的实现,但请注意 localStorage 仅支持字符串值,您必须将 response.data.result 转换为字符串。在 chrome 中,您可以使用开发人员工具 -> 资源选项卡并查看 "Local Storage" 并查看存储是否实际发生。
理想情况下,我会把它作为评论发布,但在这个网站上还没有足够的声誉来做到这一点..
您的代码看起来不错但是本地存储服务的实现可能有问题。 您应该使用众所周知的 ngStorage 服务来完成这项工作。 https://github.com/gsklee/ngStorage
过了一段时间我设法解决了这个问题。 似乎这与 localStorageservice 无关,我所做的是重新排列:
angular.module('app-gp').run(["$rootScope", "localStorageService", "$state", function($rootScope, localStorageService, $state) {
它奏效了...