2017-06-21 80 views
0

我有AngularJS項目。 在我的登錄控制器我已經設置用戶值到localStorageService.set("user", res)當用戶登錄成功,它直接到配置文件的HTML和控制由配置文件controller.in他們我有$scope.user = localStorageService.get("user"); 目前我可以訪問此user只在配置文件html.but但我想全球訪問。 例如:在我的頭html中。組控制器範圍值作爲全球

如何將此設置爲我的項目的html頁每潔具訪問?

登錄控制器

mymedApp.controller('LoginController', function ($scope, $rootScope, $location, $filter, $http, $window, $document, Common, localStorageService, SweetAlert, Facebook) { 

$scope.user = { 
    user_id : "", 
    first_name : "", 
    last_name : "", 

    }; 

    $scope.login = function() { 
     Common.get('mobile/signin', $scope.login, function (res, err) { 
      if (res.user_id > 0) { 
      localStorageService.set("user", res); 

      $rootScope.$emit('profileChanged', function() { 
       $window.location.href = '#/' + profile.js; 
      }); 
      } else { 
      SweetAlert.error("Login request failed, please check the email and password and try again.", { 
       title : "Login Failed!", 
       confirmButtonColor : '#e74c3c' 
      }); 
      } 
     }, true); 
     }; 

)}; 

檔案控制器

myApp.controller('ProfileController', function ($scope, $filter, $rootScope, $http, $window, $document, localStorageService,) { 
     var init = function() { 
       if (!localStorageService.get("user")) { 
        // $window.location.href = '#/login'; 
       } else { 
        $scope.user = localStorageService.get("user"); 

       } 
      }; 

      init(); 
    }); 
+0

請問您可以發佈localStorageService ,你如何存儲這個值? –

+1

您可以使用$ rootScope打算$範圍 –

回答

0

既然你是在服務的localStorage存儲這是全球範圍內提供。您可以將localstorage服務注入到您想要的控制器中,並以相同的方式獲取它。

if (!localStorageService.get("user")) { 
        // $window.location.href = '#/login'; 
       } else { 
        $scope.user = localStorageService.get("user"); 

       } 
+0

的沒有控制器我的頭html.just HTML文件 – Tje123

+0

你有除了局部視圖控制器索引文件主控制器? – Vivz

0

您可以設置,

var user = localStorageService.get("user"); 

,然後設置該用戶變量在會話中一樣,

Session.setValue(variable name(username),user); 

,然後在頁面上你想要得到的是價值,你可以得到

Session.getValue(variable name which written during set session(username));