在一个文件中我有:
myModule.factory("SessionStatus", function($window) {
if($window.sessionStorage.signedIn) {
return "signedIn";
} else {
return "notSignedIn";
}
});
myModule.controller('headerNavigationController',function($scope, SessionStatus) {
$scope.session = {};
$scope.session.user = SessionStatus;
});
另一方面,我有:
myModule.controller("loginController", function($scope, $window) {
$scope.login = function() {
$window.sessionStorage.signedIn = true;
}
}
我希望在调用headerNavigationController
时更新session.user
login()
,但是,我无法让它更新。我尝试将工厂放在与headerNavigationController
相同的文件中,因为我认为这会在每次更改$session.user
时自动更新$window.sessionStorage.signedIn
变量。
答案 0 :(得分:0)
获取/设置会话值的语法是:
获得:
window.sessionStorage.getItem(key);
环境:
window.sessionStorage.setItem(key, value);
查看此blog post以获取有关本地/会话存储的详细信息。