javascript - AngularJS - 在模块中检索 localStorage
问题描述
登录后,我将用户数据存储在 localStorage 中,并将其重定向到 Dashboard。登录控制:
(function() {
'use strict';
angular.module('BlurAdmin.pages.login')
.controller('LoginCtrl', LoginCtrl);
/** @ngInject */
function LoginCtrl($scope, $timeout, $http, $location, toastr) {
$scope.login = function() {
var data = { email: $scope.email, senha: $scope.password }
$http.post('http://xxxxxxx/snaapp/admin/login', data).
then(function(response) {
localStorage.token = response.data.token;
$http.get('http://xxxxxxx/snaapp/auth/user/info', { headers: { 'Authorization': response.data.token } }).
then(function(response) {
//Set values in localStorage
localStorage.user = JSON.stringify(response.data);
$location.path("/dashboard");
}).catch(function(fallback) {
toastr.error('Erro ao fazer login');
});
}).catch(function(fallback) {
toastr.error('Erro ao fazer login');
});
};
}
})();
如何从特定模块的 localStorage 中检索数据?
(function() {
'use strict';
angular.module('BlurAdmin.pages.juridico', [
'BlurAdmin.pages.juridico.acoesColetivas'
])
.config(routeConfig);
/** @ngInject */
function routeConfig($stateProvider) {
//I need to do something like this:
console.log(localStorage.user)
$stateProvider
.state('juridico', {
url: '/juridico',
template: '<ui-view autoscroll="true" autoscroll-body-top></ui-view>',
abstract: true,
title: 'Jurídico',
sidebarMeta: {
icon: 'ion-gear-a',
order: 100,
},
});
}
})();
上面的代码只有在我重新加载页面时才有效,但这不会发生,一旦它被重定向,我需要在模块中检索这些数据
解决方案
存储在本地存储中
let userData = JSON.stringify(response.data);
localStorage.setItem("user", userData);
从本地存储中检索
let savedUser = localStorage.getItem("user");
参考:链接
推荐阅读
- python - 在 python 中打印输出(输入和输出过程)
- r - 光栅包安装失败 [R linux]
- javascript - 将列表从本地存储中的数组打印到 DOM
- angular - 为什么会报错?- npm install -g @angular/cli
- php - PHP MySQL 只显示空白表
- jquery - 根据周自动将列添加到数据表中
- reactjs - ASP.Net Core React spa 集成测试
- unity3d - Unity 相机问题 - 移动 FPS/TPS 相机以查看目标并恢复玩家控制
- c - 尝试存储每个子进程的 PID
- batch-file - 在 BAT 文件中,如何启动 jmeter 然后等待它完成?