AngularJS过滤精确值和长度

时间:2013-07-15 19:11:05

标签: angularjs angularjs-filter

我想要做的是根据转发器范围,通过特定属性计算对象数组的过滤器长度。此代码在技术上有效(它显示过滤器的正确计数):

<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时(例如),它会匹配1101121等。我想在完全匹配的基础上制作上面的确切代码。

请告诉我哪些支持代码会有所帮助。

1 个答案:

答案 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>