使用资源值更新根范围变量

时间:2013-06-18 21:22:50

标签: angularjs angular-resource

在我的主要版面中,我有一个标题,如:

<h1>{{ heading }}</h1>

我可以使用以下命令将其设置为来自控制器的各种静态值:

$rootScope.heading = 'My Heading';

但是,如果我尝试从资源创建动态标题,则为空白:

app.controller('ShowAccountController', function($scope, $rootScope, $state, $stateParams, Account) {
  $scope.account = Account.get({ id: $stateParams.id });
  $rootScope.heading = $scope.account.name;
});

帐户变量肯定是在那里设置的(通过控制台检查)所以我有点难过为什么标题没有值?

1 个答案:

答案 0 :(得分:1)

正如@ sh0ber指出的那样,您对Chrome控制台的工作方式感到困惑。无论如何,要设置heading变量,您应该使用回调:

app.controller('ShowAccountController', function($scope, $rootScope, $state, $stateParams, Account) {
  $scope.account = Account.get({ id: $stateParams.id }, function(account){
    $rootScope.heading = account.name;
  });
});