Javascript 角度根范围更新

Javascript 角度根范围更新,javascript,angularjs,Javascript,Angularjs,我有一个页面,上面有登录用户的“状态”部分,上面写着“欢迎,[姓名]”,如果他们确实在登录,则有一个“注销”链接 我试图通过在LoginController的$rootScope上设置值来登录,并希望更改“status”部分,但什么也没发生。我安装了chrome扩展,我看到$rootScope.loggedIn确实设置为true angular.module('pipelineChromeApp') .controller('LoginController', [ '$rootScope', '

我有一个页面,上面有登录用户的“状态”部分,上面写着“欢迎,[姓名]”,如果他们确实在登录,则有一个“注销”链接

我试图通过在
LoginController
的$rootScope上设置值来登录,并希望更改“status”部分,但什么也没发生。我安装了chrome扩展,我看到
$rootScope.loggedIn
确实设置为
true

angular.module('pipelineChromeApp')
.controller('LoginController', [
'$rootScope',
'$scope',
'Profile',
'$location',
function ($rootScope, $scope, Profile, $location) {
  $scope.apiKey = '';
  $scope.error = '';


  $scope.login = function(){
    $scope.error = '';

    var login = Profile.getProfile($scope.apiKey)

    login.then(function(resp){

      $rootScope.loggedIn = true;
      $rootScope.name = resp.data.first_name;
      $rootScope.apiKey = resp.data.api_key;
      $rootScope.avatar = resp.data.avatar_thumb_url;

      // Sets data in localstorage
      Profile.login(resp.data);

      $location.path( "/actions" );

    }, function(error) {
      $scope.error = error.data.error;

    });
  };
}]);


angular.module('pipelineChromeApp')
.controller('StatusController', [
'$rootScope',
'Profile',
'$scope',
'localStorageService',
function ($rootScope, Profile, $scope, localStorageService) {
  $scope.loggedIn = $rootScope.loggedIn;
  $scope.name = $rootScope.name;

  $scope.logout = function() {
    Profile.logout()
    $location.path("/start");
  };

}]);
以及模板:

<div class="status" ng-controller="StatusController">
  <div ng-if="loggedIn">
    Welcome, <span ng-bind="name"></span>!
    <a href="#" ng-click="logout()">Logout</a>
  </div>
</div>

欢迎

看起来我必须在
$rootScope
中使用$watch来更新本地
$scope