Angular JS自定义服务成功回调无法正常工作

时间:2015-08-14 05:09:39

标签: angularjs

尝试一下Angular JS的基本示例。

创建了一个index.html文件并包含main.html文件 - 控制器MainController并使用该服务 - service1

数据网格填充编写在(onCallComplete)的成功回调service1中,由于某种原因未被调用。

它没有显示任何错误。

我哪里错了?

Link to my code

1 个答案:

答案 0 :(得分:2)

更改onCallComplete
var onCallComplete = function(data) {
          $scope.user = data;
          service1.getRepos($scope.user).then(onReposComplete, onError);
        };

function onCallComplete(data) {
          console.log(data);
          $scope.user = data;
          service1.getRepos($scope.user).then(onReposComplete, onError);
        }

这是工作plunker

或将您的service1.getUser($scope.username).then(onCallComplete,onError);移到onCallComplete下面,如下所示。

  var onCallComplete = function(data) {
          $scope.user = data;
          service1.getRepos($scope.user).then(onReposComplete, onError);
        };
    service1.getUser($scope.username).then(onCallComplete,onError);

原因是当您将函数定义为var onCallComplete =function(data)时,函数定义发生在运行时。但是使用function onCallComplete(data)函数会在解析脚本时被定义。因此它可以在运行时的任何时候使用。