Angular语言 - 将变量暴露给控制器



所以我有一个控制器,使一个工厂的调用,然后设置一个"variableToExpose"。当我console.log($scope.variableToExpose)显示为未定义时。将变量暴露给控制器的最佳方式是什么?

.controller('SomeCtrl', function($scope, $http, $state, SomeFactory) {
  console.log($scope.variableToExpose); //returns undefined
  SomeFactory.getRequest($id).then(function(response){
      $scope.variableToExpose = varFromGetRequest;
  }
}

谢谢!

console.log移动到成功处理程序中。

app.controller('SomeCtrl', function($scope, $http, $state, SomeFactory) {

  //console.log($scope.variableToExpose); //returns undefined
  SomeFactory.getRequest($id).then(function successHandler(response){
      //$scope.variableToExpose = varFromGetRequest;
      $scope.variableToExpose = response;
      console.log($scope.variableToExpose);
  });
});

promise的.then方法在promise被解析后调用成功处理函数。$q服务调用该函数时,唯一的参数是promise的解析值。

最新更新