我想要做的是根据转发器范围,通过特定属性计算对象数组的过滤器长度。此代码在技术上有效(它显示过滤器的正确计数):
<li ng-repeat="question in questions" id="{{ question.id }}">
{{ question.text }}
<ul>
<li ng-repeat="answer in question.answers" id="{{ answer.id }}">
{{ answer.text }} (<span ng-controller='AnswersController'>{{ (useranswers|filter:{answer_id:answer.id}).length }}</span>)
</li>
</ul>
</li>
问题是,当范围ID为1
时(例如),它会匹配1
,10
,11
,21
等。我想在完全匹配的基础上制作上面的确切代码。
请告诉我哪些支持代码会有所帮助。
答案 0 :(得分:8)
你必须对Angular说你想要一个严格的比较。使用Angular 1.1.5很容易,因为过滤器filter
(请参阅documentation)现在有第三个参数comparator
,其中true
是一个非常有用的简写。在你的情况下,你可以简单地做出类似的东西:
<li ng-repeat="question in questions" id="{{ question.id }}">
{{ question.text }}
<ul>
<li ng-repeat="answer in question.answers" id="{{ answer.id }}">
{{ answer.text }} (<span ng-controller='AnswersController'>{{ (useranswers|filter:{answer_id:answer.id}:true).length }}</span>)
</li>
</ul>
</li>