尝试一下Angular JS的基本示例。
创建了一个index.html
文件并包含main.html
文件 - 控制器MainController
并使用该服务 - service1
。
数据网格填充编写在(onCallComplete)
的成功回调service1
中,由于某种原因未被调用。
它没有显示任何错误。
我哪里错了?
答案 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)
函数会在解析脚本时被定义。因此它可以在运行时的任何时候使用。