Reputation: 531
When I try to call an existing filter (like the currency filter) inside my currency_br filter, i get an injection error. How could I inject $filter inside my custom filter definition? Thanks in advance.
angular.module('ng').filter('currency_br',
function () {
return function (n) {
var us_currency = $filter('currency')(n);
return us_currency.toString().replace('.','@').replace(',','.').replace('@',',');
};
});
Upvotes: 1
Views: 1803
Reputation: 4318
You can try something like this:
app.filter('reverse', function(){
return function (input) {
return input.split('').reverse().join('');
}
});
app.filter('upperCaseReverse', function($filter){
return function(input){
return $filter('reverse')(input).toUpperCase(); // Get previously defined filter
}
});
Here's a basic plnk.
Upvotes: 2
Reputation: 2596
Yes, this is possible...just inject $filter like you would in a controller or anything else.
angular.module('ng').filter('currency_br', function ($filter) {
return function (n) {
var us_currency = $filter('currency')(n);
return us_currency.toString().replace('.','@').replace(',','.').replace('@',',');
};
});
Upvotes: 5