Javascript 如何在计数时使用我自己的筛选器?

Javascript 如何在计数时使用我自己的筛选器?,javascript,angularjs,Javascript,Angularjs,我总是犯错误 语法错误:标记“-”是从[-0]开始的表达式[this.value | myFilter-0]第23列的意外标记 您可以在控制器内设置过滤器: angular.module(“myApp”,[]) .controller(“myCtrl”,函数($scope,$filter){ $scope.data={ 价值:1 } $scope.data.filtered=$filter('myFilter')(2.1) }) .filter('myFilter',function(){ 返

我总是犯错误

语法错误:标记“-”是从[-0]开始的表达式[this.value | myFilter-0]第23列的意外标记


您可以在控制器内设置
过滤器

angular.module(“myApp”,[])
.controller(“myCtrl”,函数($scope,$filter){
$scope.data={
价值:1
}
$scope.data.filtered=$filter('myFilter')(2.1)
})
.filter('myFilter',function(){
返回函数(输入){
返回parseFloat(输入).toFixed(2);
}
})


{{data}json}
是的,但如果我使用来自服务器的大型封装json,我将需要在js和之后更改它的所有值,以便在中输出它html@Michael您可以添加一个包含2-3个元素的json示例吗?也许我可以修改代码来帮助你谢谢!对不起,麻烦了,我解决了它,如果我可以说,当打印计数和文本分开。但如果我可以使用自定义过滤器,这将是很酷的。你好,如果你的问题是通过下面的答案来解决,考虑标记通过点击旁边的灰色蜱接受:
<ng-pluralize count="data.value | myFilter" when="{1: 'one item', 'othe': '{} items'}"> </ng-pluralize>
app.filter('myFilter', function() {
  return function(input) {
    input = parseFloat(input);
    if (!Number.isInteger(input)) {
      return input.toFixed(2);
    }
    return input;
  }
}