Javascript 在自定义过滤器中使用数字过滤器
我正在为Angular 1.5中的数字创建一个自定义过滤器,我需要在其中使用现有的数字过滤器。 我有这个数字格式3445,我需要把它转换成3'445。为此,首先,我需要将输入的数字传递给数字过滤器 3445.05252->3445.1->3'445.1 问题是我不知道如何在我的过滤函数中使用数字过滤器。这是我的密码: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
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(",", "'");
};
});