Угловой JS фильтр не равен



Кажется, очень простой вопрос, но я не могу получить синтаксис право..



<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.
Что я делаю не так. Спасибо!

521   2  

2 ответов:

синтаксис просто немного выключен, попробуйте:

<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/

Edit:

пример с переменными:

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

хотя @Michael Rose answer работает в этом случае, я не думаю, что это будет, если вы попытаетесь отфильтровать не равный какой-либо объект/переменную

в этом случае вы можете использовать:

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>

Comments

    Ничего не найдено.