当我尝试调用currency_br过滤器中的现有过滤器(如货币过滤器)时,我收到注入错误。我如何在自定义过滤器定义中注入$ filter?提前谢谢。
angular.module('ng').filter('currency_br',
function () {
return function (n) {
var us_currency = $filter('currency')(n);
return us_currency.toString().replace('.','@').replace(',','.').replace('@',',');
};
});
答案 0 :(得分:4)
是的,这是可能的......只需像控制器或其他任何东西那样注入$ filter。
angular.module('ng').filter('currency_br', function ($filter) {
return function (n) {
var us_currency = $filter('currency')(n);
return us_currency.toString().replace('.','@').replace(',','.').replace('@',',');
};
});
答案 1 :(得分:2)
您可以尝试这样的事情:
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
}
});
这是一个基本的plnk。