ng-repeat filter on boolean ng-repeat filter on boolean angularjs angularjs

ng-repeat filter on boolean


filter by obj expression:

<h3>Unregistered Users</h3><div ng-repeat="user in users | filter:{registered:false}">    <div class="row-fluid">    <div class="span2">      {{user.name}}    </div>  </div></div>

JSFiddle: http://jsfiddle.net/alfrescian/9ytDN/


Create a method in the controller which returns true or false based on the logic you need and specify that function in the filter.

Something like this:

$scope.isRegistered = function(item) {  return item.registered;};<h3>Unregistered Users</h3><div ng-repeat="user in users | filter:!isRegistered ">    <div class="row-fluid">    <div class="span2">      {{user.name}}    </div>  </div></div>


In case an item does not have a boolean property set, you can find the item with a property not set to true by using '!' with quotes. e.x. filter: {property:'!'+true}.

Example:

$scope.users = [        {            name : 'user1 (registered)',            registered : true        },        {            name : 'user2 (unregistered)'        },        {            name : 'user3 (registered)',            registered : true        },         {            name : 'user4 (unregistered)'        }

To get unregistered users filter:

<h3>Unregistered Users</h3><div ng-repeat="user in users | filter:{registered:'!'+true}">    <div class="row-fluid">        <div class="span2">          {{user.name}}        </div>      </div>    </div>