我打印从列表中的服务获得的数据集。没关系。
所以,我有两个函数,*paint_other_avatars()* 和 *paint_more_participants()*,(它们是 http 调用)在每个项目中获取一些真实数据。
我的问题是 AngularJS 在获取所有数据之前不会呈现列表,因此页面需要大量加载。我想避免这种延迟。
最初,我计划通过一次调用来增强我的 SQL 查询以获取所有需要的数据,但现在我认为如果我异步执行它们或在此辅助调用之前呈现列表,那么这么多调用并不是那么糟糕。
我知道我的问题之一是在ng-init()中设置调用,但我不知道像ng-after()这样的任何指令
这是我的代码简化:
<li ng-repeat="plan in plans | orderBy:get_timing" ng-animate=" 'animate' " ng-class="status(plan)">
<div class="desc_plan">
<span class="gris_24">{{plan.title}}</span>
</div>
<div class="asistentes">
<span id="other_avatars_{{plan.id}}" ng-init="paint_other_avatars(plan)"></span>
<span id="more_participants_{{plan.id}}" ng-init="paint_more_participants(plan)" class="asistentes_mas"></span>
</div>
</li>
为 j_walker_dev 编辑:
嗯,我正在尝试您的解决方案,但我发现了一个问题
$scope.plans = Plan.query({token: token});
我猜这种类型的调用是异步的,所以如果我把
angular.forEach($scope.plans, function(plan) {
$scope.paint_other_avatars(plan);
$scope.paint_more_participants(plan);
});
该程序没有进入 forEach,因为它没有时间去做。可能是这样?