Похоже на очень простой вопрос, но я не могу понять синтаксис ..
<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. Что я делаю неправильно. Благодаря!
javascript
angularjs
angularjs-ng-repeat
ng-filter
американец
источник
источник
expression
объясняется (второй p в Usage -> arguments )filter: {Id: "!-1"}
или что-то подобное, должно помочьОтветы:
Синтаксис немного неправильный, попробуйте:
<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>
источник
checkForX
а затем используем ее как... | filter:checkForX
и вернем истину или ложь, если есть совпадение ...Id
что содержит-1
в качестве подстроки, например-11
или2-1
. Чтобы надежно проверить, чтоId
это не так,-1
вы должны написать небольшую функцию компаратора и использовать ее в качестве фильтра.Хотя ответ @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>
источник