AngularJS在通过ajax填充数组后从html元素调用函数

时间:2017-11-02 15:52:54

标签: angularjs ajax

首先,我应该说我是angularjs的新手

<span grv-icon-comm-type="vm.communityViewHelper.getTypeIcon(vm.findFromPendingCommunityList(invite.community_id))" ng-class="vm.communityViewHelper.getColorClass(vm.findFromPendingCommunityList(invite.community_id))"></span>

在上面的代码中,invite.community_id与页面加载一起出现。但是vm.findFromPendingCommunityList()方法循环遍历由ajax响应填充的数组。在这种情况下,当调用该函数时,该数组为空但在ajax调用后填充while数组。

现在我的问题是如何在那里获得价值呢?

1 个答案:

答案 0 :(得分:0)

你可以从你的ajax调用返回一个promise,当你在.then函数中解析了promise时,你可以将值赋给你的数组 - 一旦它们被填充了angularjs&#39;内置的双向数据绑定将为您完成工作 - 迭代现在填充的数组。

请参阅:用于实现此任务的内置服务:$ http,$ q或$ resource(签入文档)。

通过使用内置的$ timeout服务(内部使用promises)并将数组分配给作用域,然后在模板中迭代此数组,可以轻松地测试它。 (你应该在控制器中包含$ timeout)

$timeout(function(){
    $scope.data = [1,2,3,4,5,6,7,8]
}, 5000)

然后在模板中

<ul ng-repeat="item in data">{{item}}</ul>

您将看到在$ timeout延迟5秒后迭代了数组。希望有所帮助。