AngularJs - $cookies 仅在相同状态下刷新后反映变化
AngularJs - $cookies reflecting changes only after refresh on same state
我正在使用 $cookies
在从 modalInstanceController
成功登录后存储 userId
,然后在我的 homepageController
中获取 userId
。在整个过程中,应用程序的状态没有改变,页面也没有重新加载。
现在,当我在此过程中控制台记录 userId
时,它显示 undefined
,但是当我刷新页面时,userId
完美显示。
我在成功登录时预填表格,所以我不想重新加载我的状态。对此的任何解决方案,以便我可以实现。
代码片段:
modalInstanceController
$scope.login = function() {
utilities.login()
.success(function(response) {
$cookies.put('user_id', response.message.user_id);
});
$modalInstance.dismiss('cancel');
};
homepageController
$scope.userId = $cookies.get('user_id');
userId
仅在页面刷新时显示。
您的代码中没有迹象表明您在收到服务器返回的信息后正在设置用户 ID。主页Controller只会在加载时读取cookie
$scope.login = function() {
utilities.login()
.success(function(response) {
$cookies.put('user_id', response.message.user_id);
// add next line
$scope.userId = $cookies.get('user_id');
});
$modalInstance.dismiss('cancel');
};
我正在使用 $cookies
在从 modalInstanceController
成功登录后存储 userId
,然后在我的 homepageController
中获取 userId
。在整个过程中,应用程序的状态没有改变,页面也没有重新加载。
现在,当我在此过程中控制台记录 userId
时,它显示 undefined
,但是当我刷新页面时,userId
完美显示。
我在成功登录时预填表格,所以我不想重新加载我的状态。对此的任何解决方案,以便我可以实现。
代码片段:
modalInstanceController
$scope.login = function() {
utilities.login()
.success(function(response) {
$cookies.put('user_id', response.message.user_id);
});
$modalInstance.dismiss('cancel');
};
homepageController
$scope.userId = $cookies.get('user_id');
userId
仅在页面刷新时显示。
您的代码中没有迹象表明您在收到服务器返回的信息后正在设置用户 ID。主页Controller只会在加载时读取cookie
$scope.login = function() {
utilities.login()
.success(function(response) {
$cookies.put('user_id', response.message.user_id);
// add next line
$scope.userId = $cookies.get('user_id');
});
$modalInstance.dismiss('cancel');
};