title: Angular JS filter equals
body: <p>Please see the details. Why is the output wrong?</p>
  
  <p>HTML:</p>
  
  <pre class="lang-html prettyprint-override"><code>&lt;div ng-app&gt;
      &lt;div ng-controller="TodoCtrl"&gt;
           &lt;h1&gt;List&lt;/h1&gt;
  
          &lt;div ng-repeat="t in todos | filter:{ id: '-1'}"&gt;{{t.text}}&lt;/div&gt;
      &lt;/div&gt;
  &lt;/div&gt;
  </code></pre>
  
  <p>Angular code:</p>
  
  
  
  <pre class="lang-js prettyprint-override"><code>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
      }];
  }
  </code></pre>
  
  <p>Output:</p>
  
  <pre class="lang-js prettyprint-override"><code>learn angular
  learn angular 2
  </code></pre>
  
  <p>Please see:</p>
  
  <blockquote>
    <p>filter:{ id: '-1'}</p>
  </blockquote>
  
  <p>Why does the output include:</p>
  
  <pre class="lang-js prettyprint-override"><code>learn angular 2
  </code></pre>
  
  <p>I want to search the id <code>-1</code>, but <code>learn angular 2</code> is <code>-11</code></p>