AngularJs - 仅在刷新相同状态后反映更改的$ cookies

时间:2015-11-02 07:09:01

标签: angularjs angular-cookies

我在$cookies成功登录后使用userId存储modalInstanceController,然后在userId中获取homepageController。在整个过程中,应用程序的状态不会被更改,也不会重新加载页面。 现在,当我在此过程中控制日志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仅在页面刷新时显示。

1 个答案:

答案 0 :(得分:0)

您的代码中没有迹象表明您在从服务器接收回信息后设置了userId。 homepageController只会在加载时读取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');
 };