我正在编写一个自定义过滤器,用'替换零值。 - '用于显示目的。但是,如果它不为零,则应返回输入但过滤为货币。当我尝试这样做时,我收到意外的令牌错误。
angular.module('app')
.filter('displaynullcurrency', function(){
return function(input){
if(!input){ return ' - '; }
if(parseFloat(input) != 0){
return {{input | currency}};
}
return ' - ';
};
});
答案 0 :(得分:5)
当您尝试在javascript函数中使用$filter
时,您必须使用它:$filter('currency')(input)
,您在函数中使用的语法是为模板保留的,请尝试以下方法:
angular.module('app')
.filter('displaynullcurrency', function($filter){
return function(input){
if(!input){ return ' - '; }
if(parseFloat(input) != 0){
return $filter('currency')(input);
}
return ' - ';
};
});
答案 1 :(得分:4)
您正试图在绑定语句中的指令中管道一个值。您只能在模板中执行此操作。
要返回按货币过滤的输入值,您应该执行以下操作:
angular.module('app')
.filter('displaynullcurrency', function($filter) {
return function (input) {
if (!input) { return ' - '; }
if (parseFloat(input) != 0) {
return $filter('currency')(input);
}
return ' - ';
};
});