首页 > 解决方案 > 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,
                },
            });
    }

})();

上面的代码只有在我重新加载页面时才有效,但这不会发生,一旦它被重定向,我需要在模块中检索这些数据

标签: javascriptangularjs

解决方案


存储在本地存储中

let userData = JSON.stringify(response.data);
localStorage.setItem("user", userData);

从本地存储中检索

let savedUser = localStorage.getItem("user");

参考:链接


推荐阅读