Javascript 在自定义过滤器中使用数字过滤器

Javascript 在自定义过滤器中使用数字过滤器,javascript,angularjs,filter,Javascript,Angularjs,Filter,我正在为Angular 1.5中的数字创建一个自定义过滤器,我需要在其中使用现有的数字过滤器。 我有这个数字格式3445,我需要把它转换成3'445。为此,首先,我需要将输入的数字传递给数字过滤器 3445.05252->3445.1->3'445.1 问题是我不知道如何在我的过滤函数中使用数字过滤器。这是我的密码: app.filter('tick', function () { return function(input, $number) { var numb

我正在为Angular 1.5中的数字创建一个自定义过滤器,我需要在其中使用现有的数字过滤器。 我有这个数字格式3445,我需要把它转换成3'445。为此,首先,我需要将输入的数字传递给数字过滤器

3445.05252->3445.1->3'445.1

问题是我不知道如何在我的过滤函数中使用数字过滤器。这是我的密码:

 app.filter('tick', function () {
      return function(input, $number) {
        var number =$number(input,1);
        return number.toString().replace(",","'");
};
}))

我不能像3445.05252 |数字:1 |勾选那样使用它。它必须与我的过滤器内的数字过滤器

这里是注入$filter的示例:

app.filter('tick', function () {
return function(input, $filter) {
        var number = $filter('number')(input,1);
    return number.toString().replace(",","'");
};
}))

以下是html代码:

<div ng-app="myApp">
    <div ng-controller="MainController">
       <p> {{ 245258.222| tick }}  </p>
    </div>
</div>
可以使用管道在angularJS中应用多个过滤器。 不要尝试将
$number
注入函数,只需对HTML中的数据应用这两个过滤器即可

e、 g。
3445.05252 |编号|粗

这将应用数字过滤器,然后将结果传递到
thick
函数中

结果:
3'445.1

海报更新了问题,因此我添加了另一个答案。 您可以将
$filter
注入您自己的过滤器。这将允许您按名称检索
编号
过滤器,并根据需要使用它

例子: 然后在HTML中你可以说。。。
3445.05252 |勾选

您尝试过注入$filter服务吗?使用$filter('number')?我已经发布了另一个答案当我尝试{{245258.222 | tick}

时,我也得到了{{245258.222 | tick}}。有些东西不起作用。我先在JS Fiddle中尝试这个,我不知道是否可以在这里看到控制台,但我已经粘贴了整个代码,以便您可以看到它。哎呀,我忘了返回一个函数。在您的示例中,您将$filter注入错误的位置。非常好!很高兴我能帮忙(即使我犯了一些错误,哈哈)。
 var app = angular.module("myApp", []);

 app.controller('MainController', ['$scope', '$window', function($scope, $window) { 
        $scope.price=2355;
        $scope.url="http://google.com";
  }]);
app.filter('tick', function () {
return function(input, $filter) {
        var numberFilter= $filter('number');
        var number =numberFilter(input,1);
    return number.toString().replace(",","'");
};
 });
app.filter('tick', function ($filter) {
    return function(input) {
        var numberFilter = $filter('number');
        var filteredInput = numberFilter(input, 1);
        return filteredInput.toString().replace(",", "'");
    };
});