2013-12-12 27 views
2

我需要过滤的行巫属性“年龄”大于“X”个Angular如何过滤大于ng-click?

<a href="#" ng-click="personFilter = {age:18}">Older than 18</a> 

<div ng-repeat="person in persons | filter:personFilter "> 
     <div>{{person.name}}</div> 
     <div>{{person.age}}</div> 
</div> 

在此先感谢

回答

4

按照docs,你可以通过一个函数来filterHere's an example

<!DOCTYPE html> 
<html> 

    <head> 
    <script data-require="[email protected]" data-semver="1.2.4" src="http://code.angularjs.org/1.2.4/angular.js"></script> 
    <link rel="stylesheet" href="style.css" /> 
    <script src="script.js"></script> 
    </head> 

    <body ng-app="example" ng-controller="Ex"> 
    <!-- on click set the filter to our custom function defined in scope --> 
    <a href="#" ng-click="personFilter = isOver18">Older than 18</a> 
    <ul> 
     <li ng-repeat="p in people | filter:personFilter"> 
     {{p.name}} - {{p.age}} 
     </li> 
    </ul> 
    </body> 

</html> 

控制器:

angular.module('example', []) 
    .controller('Ex', function($scope) { 
    $scope.personFilter = {}; 
    $scope.people = [ 
     {name: "Bob", age: 32}, 
     {name: 'Billy', age: 12} 
     ]; 

     /* returns true if the provided person is over 18 */ 
     $scope.isOver18 = function(p) { 
     return p.age > 18; 
     } 
    }); 
+0

谢谢约翰!以及文件说,对于过滤器,但很难绑定该信息与吴点击.... – chulian