我有AngularJS项目。
在我的登录控制器中,当用户登录成功时,我将用户值设置为localStorageService.set("user", res)
,它指向配置文件html并通过配置文件控制器进行控制。在我的$scope.user = localStorageService.get("user");
目前我只能在配置文件html中访问此user
。但我想在全球范围内访问此配置文件。
例如:在我的标题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 :(得分:0)
由于您将其存储在localstorage Service中,因此可以全局使用。您可以在所需的控制器中注入localstorage服务,并以相同的方式获取它。
if (!localStorageService.get("user")) {
// $window.location.href = '#/login';
} else {
$scope.user = localStorageService.get("user");
}
答案 1 :(得分:0)
你可以设置,
var user = localStorageService.get("user");
然后在会话中设置此用户变量,如
Session.setValue(variable name(username),user);
然后你想在哪个页面获得该值
Session.getValue(variable name which written during set session(username));