我正在尝试计算用户已回答的琐事问题的数量。对于每个问题(语句),其中值大于0 - 表示问题已得到解答。我可以在console.log中看到这些正确的值,但我无法获得显示在$ scope中或在前端显示的值:它显示一个数字,但该数字与console.log的结果不匹配:
html / haml:
categories(ng-repeat='category in service.categories' ng-class="{'first':$first}" )
.row(ng-click='showQuestions = !showQuestions' ng-class="{'ballotSelected' : showQuestions}")
.label
.chevron(ng-class="showQuestions ? 'fa fa-chevron-down ballotSelected' : 'fa fa-chevron-right'")
.name.text-uppercase
{{category.name}} {{category.statements.length}}
.questionCount(ng-init='getStatementCount(category)')
{{statementCounts}}
.showRow(ng-show='showQuestions')
控制器:
$scope.getStatementCount = function(category) {
var i, questionCount;
console.log(category);
i = 0;
questionCount = 0;
while (i < category.statements.length) {
if (category.statements[i].value > 0) {
questionCount += 1;
}
i++;
}
console.log(questionCount, 'COUNT');
return $scope.statementCounts = questionCount;
};
答案 0 :(得分:1)
每次拨打getStatementsCount()
时,都会覆盖为所有类别显示的唯一范围变量statementCounts
。
这不可能是正确的。
所以,
$scope.getStatementCount = function(category) {
...
return questionCount;
}
和
.questionCount
{{ getStatementCounts(category) }}