Reverse polarity of an angular.js filter

shacker's answer didn't work for angular 1.0.7, so here's another way to do this:

// You can register this in your AppCtrl if you like, otherwise just use $scope.
$rootScope.not = function(func) {
    return function (item) { 
        return !func(item); 
    }
};

Then you would do this:

filter:not(myFilterMethod)

As noted by ENDOH (this SO question is technically a duplicate), you can negate a filter by prepending '!' to the filter string, like this:

filter:'!'+myFilter

Note that the '!' is quoted. The documentation is not terribly clear on this, and an example there would be helpful.


filter:({day: '!'+AllDay.day})

Tags:

Angularjs