2014-11-14 6 views
9

के बराबर है कृपया विवरण देखें। आउटपुट गलत क्यों है?कोणीय जेएस फ़िल्टर

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 

कृपया देखें:

फिल्टर: {आईडी: '-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 मानों के बराबर नहीं चाहता: सत्य ?? –

+0

क्या आप इस 'http: // jsfiddle.net/U3pVM/33383/'के लिए मदद कर सकते हैं, क्यों अंतिम आउटपुट में प्रदर्शित नहीं होता है, घटना आईडी है -12? –