1

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

例如,假设我有一个正在倒计时的计时器 >>> 10、9、8、7、6、... 0。

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

提前致谢。

4

2 回答 2

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}}

提琴手

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

-干杯

于 2013-07-25T04:50:04.640 回答
0

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

JS:

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;
            }
        });

HTML:

<span>{{(number | digits : 2}}</span>
于 2015-12-31T09:55:31.980 回答