我的工作MEAN應用程序,用戶登錄成功後,我想在localStorage的保存返回的用戶數據在瀏覽器中,這樣我可以使用它進一步,我使用ngStorage模塊。我可以在瀏覽器的本地存儲中保存用戶數據。這是我在的LoginController代碼:
function loginController($http, $location, $rootScope,$localStorage){
var vm = this;
vm.signIn = signIn;
function signIn() {
$http({
url: '/login',
method: 'post',
data: vm.login
}).then(function(respond) {
if(respond.data){
$localStorage.userData = respond.data;
var info = $localStorage.userData;
$rootScope.userInfo = info;
$location.path('/dashboard/'+respond.data._id);
}else{
$location.path('/');
}
沒有當我在另一個控制器我可以得到存儲在$ localStorage的價值訪問$ rootScope。即使在我的Chrome瀏覽器中,我可以從檢查數據存儲在$ localStorage中看到。 但是當我刷新我頁我可以看到仍然存在的localStorage但不是在我的$ rootscope在瀏覽器中的數據。我的rootScope在頁面刷新後獲取空數據,我真的很感激任何有關如何訪問這些數據並存儲在rootScope中的建議。
你可以在使用ng-init模板初始化的時候觸發一些初始化函數,並從存儲中恢復數據。或者你可以寫狀態解析函數做同樣的.. –
$ rootScope行爲像JavaScript變量,即它得到您使用$ rootScope當你重裝location.why破壞時,數據可以很容易地通過$ localStorage的在任何點訪問你的申請。 –
@AlexRumbaNicked我們可以訪問它設置一個控制器上,並在另一個控制器 – jsgeek