0

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

<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等。我想让上面的确切代码在完全匹配上工作。

请让我知道哪些支持代码会有所帮助。

4

1 回答 1

8

你必须对 Angular 说你想要一个严格的比较。这在 Angular 1.1.5 中很容易做到,因为过滤器filter(参见文档)现在有了第三个参数 ,comparatortrue是一个非常有用的简写。在你的情况下,你可以简单地做这样的事情:

<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>
于 2013-07-15T19:39:45.937 回答