Angular JS过滤器意外工作?

时间:2015-06-03 05:25:53

标签: javascript angularjs search

我正在尝试使用Angularjs过滤器过滤json数据列表(https://api.myjson.com/bins/5a2aw)。当我只使用过滤器时,不会发生精确匹配,并且1显示id = 1,10,11,12的结果。使用带过滤器的true虽然非常奇怪,但是对于所有ID,都会出现id为7的单个结果。

 <html>
    <script src= "http://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.min.js"></script>
    <body>
    <div ng-app="myApp" ng-controller="myCtrl">
    <ul>
    <li ng-repeat="x in names |  filter : true : {id: 7}">
    {{x.Name+ " " + x.Quote}}
    </li>
    </ul>
    </div>
</body>
    <script>
    var app = angular.module('myApp',[])
    app.controller('myCtrl',function($scope, $http){
        $http.get("https://api.myjson.com/bins/5a2aw").success(function(response) {$scope.names=response.records;});
    });
    </script>
</html>

2 个答案:

答案 0 :(得分:0)

您应该在filter条件之后放置true(这是精确检查),而不是在过滤器的第1位。

<强>标记

<li ng-repeat="x in names |  filter : {id: 7}: true ">
    {{x.Name+ " " + x.Quote}}
</li>

<强>语法

{{ filter_expression | filter : expression : comparator}}

答案 1 :(得分:0)

选中此here

代码:

ng-repeat="x in names.records |  filter : {id: 1} : true"