Pregunta El filtro angular JS no es igual


Parece una pregunta muy básica, pero no puedo obtener la sintaxis correcta.

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

Todo lo que quiero es mostrar todas las preguntas donde ID no es -1. Qué estoy haciendo mal. ¡Gracias!


73
2018-03-26 15:50


origen


Respuestas:


La sintaxis es solo un poco, intente:

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

Ver un pequeño JSFiddle: http://jsfiddle.net/U3pVM/3845/

Editar:

Ejemplo con variables:

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

146
2018-03-26 16:02



Aunque la respuesta de @Michael Rose funciona para este caso, no creo que si se intenta filtrar no es igual a algún objeto / variable

En ese caso, podrías usar:

JS:

filterId = -1

HTML:

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

Un caso aún más anidado:

JS:

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

HTML

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

19
2018-01-28 17:16