2014-12-10 4 views
0

Я работаю над веб-приложением. после входа пользователя в систему мне нужно загрузить данные профиля пользователя где-нибудь, который будет доступен всем контроллерам также для другого приложения, добавив зависимость или что-то еще.angularjs для хранения основных данных профиля, которые могут быть уничтожены для всех контроллеров и приложений

Я подумывал написать метод ng-init(), а затем сохранить все значения на заводе, но есть ли другой способ достичь этого, я бы просто хотел подтвердить.

Пожалуйста, подскажите, что я могу использовать для хранения данных базового профиля пользователя? есть ли способ хранения в конфигурации или провайдера?

drawerApp.config([ '$interpolateProvider', 
    function ($interpolateProvider) { 

}]); 

ответ

2

Я думаю, что его лучше хранить его в localStorage браузера в качестве объекта

установить

var setUserData = {name:"abc",age:25} 
localStorageService.set('userData',JSON.stringify(setUserData)); 

получить $scope.userData = JSON.parse(localStorageService.get('userData'));

+0

Согласен. Помните, что емкость локального хранилища обычно составляет не более 5 МБ (http://stackoverflow.com/questions/2989284/what-is-the-max-size-of-localstorage-values), но для данных профиля пользователя это должно быть достаточно ... – MarcoS

+0

Да 5MB в хроме, вам нужно больше места или меньше? –

+0

@KalhanoToressPamuditha, то при выходе из системы мне придется удалить все эти данные из localStorage? это безопасно ? – anam

0

Вы можете использовать объем корневой scope.Root разделяется между всеми контроллерами и всеми html-шаблонами. Просто сохраняйте данные своего профиля пользователя в корневой области.

+0

no i can not use use У меня есть другое приложение, также ... которое я загружаю с помощью angular.bootstrap – anam

+0

, тогда у вас есть только опция localStorage, просто напишите localStorage ["key"] = значение –

Смежные вопросы