83

似乎是一个非常基本的问题,但我无法正确使用语法..

<li class="list-group-item" ng-repeat="question in newSection.Questions | filter:Id != '-1'; " ng-mouseenter="hover = true" ng-mouseleave="hover = false">
    <div href="#" editable-text="question.Text">{{question.Text}}</div>
</li>

我想要的只是显示 id 不是 -1 的所有问题。我究竟做错了什么。谢谢!

4

2 回答 2

167

语法有点不对劲,试试:

<li class="list-group-item"
    ng-repeat="question in newSection.Questions | filter:{ Id: '!-1'}"
    ng-mouseenter="hover = true" ng-mouseleave="hover = false">

    <div href="#" editable-text="question.Text">{{question.Text}}</div>
</li>

看一点 JSFiddle:http: //jsfiddle.net/U3pVM/3845/

编辑:

带变量的示例:

<script> var invalidId = '-1'; </script>
<li class="list-group-item"
    ng-repeat="question in newSection.Questions | filter:{ Id: '!' + invalidId}"
    ng-mouseenter="hover = true" ng-mouseleave="hover = false">

    <div href="#" editable-text="question.Text">{{question.Text}}</div>
</li>
于 2014-03-26T16:02:27.923 回答
21

尽管@Michael Rose的答案适用于这种情况,但如果您尝试过滤不等于某些对象/变量,我认为它不会

在这种情况下,您可以使用:

JS

filterId = -1

HTML:

<li ng-repeat="question in newSection.Questions | filter: !{ Id: filterId}">
</li>

一个更嵌套的案例:

JS

someQuestion = {
   someObject: {
     Id: 1
   }
}
newSection.Questions = [someQuestion]

HTML

<li ng-repeat="question in newSection.Questions | filter: !{someObject : {Id: -1} }">
</li>
于 2015-01-28T17:16:03.173 回答