是否可以返回固定数字滤波器?

时间:2013-07-25 02:49:35

标签: angularjs

是否可以在{{表达式}}上输出固定数量的数字。

例如说我有倒计时的计时器>>> 10,9,8,7,6,...... 0。

是否可以过滤此输出,以便输出现在是>>> 10,09,08,07,... 00。

先谢谢。

2 个答案:

答案 0 :(得分:6)

您可以编写自己的过滤器。我接受了TimSPQR的评论,并添加了一个自定义过滤器的Jsfiddle。

angular.module('MyModule', []).filter('digits', function() {
return function(input) {
   if (input < 10) { 
          input = '0' + input;
      }

      return input;
    }
});

html中的用法:

Add Leading Zero: {{number|digits}}

Jsfiddle

请记住,您需要添加逻辑来计算已经以前导零开头的非数字和数字。这应该会给你基本的想法。

-Cheers

答案 1 :(得分:0)

为了支持任何长度的输入,最好使用以下过滤器(基于Pointy答案:Pad a number with leading zeros in JavaScript

JS:

txtduration

HTML:

angular.module('MyModule', [])    
.filter('digits', function () {
            return function (input, width, leadingChar) {
                leadingChar = leadingChar || '0';
                input = input + '';
                return input.length >= width ? input : new Array(width - input.length + 1).join(leadingChar) + input;
            }
        });