【发布时间】:2015-03-27 22:17:51
【问题描述】:
我是 AngularJS 的新手,我正在尝试更多地了解 ng-repeat 的可能性。我整理了一些代码来尝试学习更多内容,但遇到了一些我不明白的问题。
代码如下:
HTML:
<ul class="list-unstyled">
<li ng-repeat="worker in workers">
<section class="well col-md-6 col-md-offset-3">
<h1 class="h3 col-md-6 text-right" style="margin-top: 0"><a>{{worker.worker_name}} {{ getTipCount(worker.id) }}</a></h1>
</section>
</li>
</ul>
在我的控制器中:
$scope.getTipCount = (workerId) ->
WorkerTips = $resource("/workers/#{workerId}", { workerId: "@id", format: 'json' })
json = WorkerTips .get ((res) ->
$scope.workertipscount = res.worker.tips.lengh
)
在 JSON 中,每个工作对象都有一个提示数组,我要做的是计算每个工作人员有多少个提示。为此,我需要通过 ng-repeat 从工作人员那里获取 id,然后将其传递给一个函数,然后从 JSON 中获取提示数并将其显示在页面上。
但是,当我尝试执行此操作时,页面似乎进入了无限循环,并且出现以下错误:
错误:[$rootScope:infdig] 达到 10 个 $digest() 迭代。中止!
所以我猜测我从 ng-repeat 中的元素中提取信息然后将其发送到也发送到 ng-repeat 视图的函数的方法不正确?如果是这样,AngularJS 的正确方法是什么?
【问题讨论】:
-
这是您的代码中的错字还是不正确? -
res.worker.tips.lengh -
为什么不先计算每个工作人员在控制器负载上的小费,然后执行
getWorkersTip(id)之类的操作,而不是在每次单击时发送请求?
标签: angularjs coffeescript angularjs-ng-repeat