Reverse polarity of an angular.js filter

angularjs

Solution

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.

Problem

Given a filter method that returns true if some condition is met, is it possible to invoke its opposite in HTML, e.g. to use: ``` "item in items | filter:!AllDay" ``` instead of ``` "item in items | filter:AllDay" ``` ? Or do you have to maintain two separate filter methods (one for false and one for true)?

Original source

Related problems