Chapter 2: Chaining filters

by billy roberts

HTML

<script src="https://code.angularjs.org/1.3.2/angular.min.js"></script>
<div ng-app="myApp">
    <div ng-controller="Ctrl">
        <input type="text" ng-model="search.val" />
        <!—- simple repeater filtering against search.val -->
        <p ng-repeat="user in users | filter : search.val">
            {{ user.name }}
        </p>
        <hr />
        <p ng-repeat="user in users | filter : search.val | limitTo: 2">
            {{ user.name }}
        </p>
        <hr />
        <p ng-repeat="user in users | filter : search.val | orderBy: 'name' | limitTo : 3">
            {{ user.name }}
        </p>
    </div>
</div>

JavaScript

//chain filters with limitTo
//  <p ng-repeat="user in users | filter : search.val | limitTo: 2"> and
//  <p ng-repeat="user in users | filter : search.val | orderBy: 'name' | 
//    limitTo : 2">
angular.module('myApp', [])
.controller('Ctrl', function ($scope) {
    $scope.users = [
        {name: 'Albert Pai'}, 
        {name: 'Jake Hsu'},
        {name: 'Jack Hanford'},
        {name: 'Scott Robinson'},
        {name: 'Diwank Singh'}
    ];
});