使用函数将数组传递给AngularJS控制器时没有数据通过
我正在开发一个angularjs应用程序,它使用parse创建一个名称数组。然后我将该数组传递给一个控制器,我在html中使用它。我的问题是没有数据通过,我不知道为什么。我已经测试了我的解析连接,它工作正常,我测试了我的控制器,它正确地传递数据。只有当我将两者结合起来时,它才会停止工作 parse.js使用函数将数组传递给AngularJS控制器时没有数据通过,angularjs,parse-platform,angularjs-controller,Angularjs,Parse Platform,Angularjs Controller,我正在开发一个angularjs应用程序,它使用parse创建一个名称数组。然后我将该数组传递给一个控制器,我在html中使用它。我的问题是没有数据通过,我不知道为什么。我已经测试了我的解析连接,它工作正常,我测试了我的控制器,它正确地传递数据。只有当我将两者结合起来时,它才会停止工作 parse.js function playerNames() { Parse.$ = jQuery; Parse.initialize("my key", "my key"); var names = n
function playerNames() {
Parse.$ = jQuery;
Parse.initialize("my key", "my key");
var names = new Array();
var GameScore = Parse.Object.extend("GameScore");
var query = new Parse.Query(GameScore);
query.find({
success: function (results) {
for (var i in results){
var name = results[i].get("playerName");
alert(name);
names.push(name);
}
return names;
},
error: function (error) {
alert(error.message);
return names;
}});
};
app.controller('NameController', ['$scope', function($scope) {$scope.names = playerNames()}]);
index.html
<div class="main" ng-controller="NameController">
<div class="container">
<table class="table table-hover">
<thead>
<tr>
<th>Name</th>
</tr>
</thead>
<tbody>
<tr ng-repeat="n in names">
<td>{{ n }}</td>
</tr>
</tbody>
</table>
</div>
</div>
名称
{{n}}
playerNames()
不返回任何内容我不知道你的意思。我将返回语句放在query.find中。如果我在末尾放一个return语句,那么它将在查询有机会填充数组之前返回数组,因为它是异步运行的。return tosuccess
callback不会返回到外部函数。使用$q
创建并返回promiseRead以了解您的错误并加以纠正您需要对承诺有一个良好的(介于基本和良好之间)理解,才能完成您想要在这里做的事情。我建议在网上读一下。