2014-11-14 4 views
9

См. Подробности. Почему результат неправильный?Угловой JS-фильтр равен

HTML:

<div ng-app> 
    <div ng-controller="TodoCtrl"> 
     <h1>List</h1> 

     <div ng-repeat="t in todos | filter:{ id: '-1'}">{{t.text}}</div> 
    </div> 
</div> 

Угловой код:

function TodoCtrl($scope) { 
    $scope.todos = [{ 
     text: 'learn angular', 
     done: true, 
     id: -1 
    },{ 
     text: 'learn angular 2', 
     done: true, 
     id: -11 
    }, { 
     text: 'build an angular app', 
     done: false, 
     id: 1 
    }]; 
} 

Выход:

learn angular 
learn angular 2 

Пожалуйста, см:

фильтр: {ID: '-1'}

Почему включают выход:

learn angular 2 

Я хочу искать идентификатор -1, но learn angular 2 является -11

ответ

24

Удалить кавычки от '-1' и отправьте true фильтру, чтобы выполнить строгий сопоставление.

ng-repeat="t in todos | filter:{ id: -1}:true"

+0

Почему это происходит? – Flezcano

+0

что, если я хочу не равняться -1 значениям с: true ?? –

+0

вы можете помочь для этого 'http: // jsfiddle.net/U3pVM/33383 /', почему последний не отображается на выходе, событие есть id -12? –

Смежные вопросы