ng-repeat中的函数不断循环
Function in ng-repeat keeps looping
我正在使用ng-repeat
加载项目列表。在其中一个字段中,我将从ng-repeat
获得的ID
传递给一个函数,以便从另一个数据库表中获取信息。当我这样做并console.log
结果时,它只是不断循环。
<ion-slide-box ng-repeat="q in questions.list track by $index">
<ion-slide class="default box">
<div class="amount">{{ getAmountQuestion(q.guid) }}</div>
<div class="question"><h5>{{ q.fields.question }}</h5></div>
</ion-slide>
</ion-slide-box>
$scope.getQuestionAmount = function(id) {
QuestionsService.getAllVotesById(id).then(function (data) {
console.log(data.count);
});
};
将 API 服务调用放在watchExpression
中是一个非常糟糕的主意,因为 AngularJS 框架在每个摘要周期中调用该表达式。
从文档中:
--每次调用 $digest() 时都会调用该
watchExpression
,并应返回将被监视的值。(watchExpression
在使用相同的输入多次执行时不应更改其值,因为 $digest() 可能会多次执行它。也就是说,watchExpression
应该是幂等的。
AngularJS API 参考 -- $watch
重构代码以在控制器内执行 API 调用,缓存结果,并在监视表达式中使用类似 {{ cachedAmountQuestion[q.guid] }}
的内容。
相关文章:
- JavaScript/Jquery:一个特殊用途的for循环函数
- 为循环函数中的元素指定单击
- Jquery下一个和上一个按钮循环函数
- 循环函数(Javascript回调帮助)
- 循环函数不起作用
- 使用ajax调用循环函数
- 在Javascript中修改循环函数的参数
- 如何循环函数数组并在单击时一次执行一个
- 设置超时可以保存我的循环函数不被视为无响应
- 具有超时的循环函数
- j查询如何在一系列延迟后循环函数
- 如何将 JavaScript forEach 循环/函数转换为 CoffeeScript
- for 循环函数似乎未运行
- 对于内部循环函数(新手)
- 循环函数会导致它在 javascript 中无响应
- 循环函数
- 如何优化循环函数
- JS拒绝循环函数
- 中断循环函数
- 在 JavaScript 中循环函数可以吗?