AngularJS:我可以使用什么过滤器类型来创建自定义货币指令?

天空步行者

我有一个输入表单,可以输入数百、数百万、数十亿等的货币值。为了方便用户使用,我希望显示这些自定义输入字段并让用户输入例如“1.5M”而不是 1500000、“1B” ' 而不是 1000000000 等等。为此目的,我创建了一个FormatServices服务有两个方法currParse(value: string): number,并currFormat(value: number): string和他们做什么,他们都应该即模型,显示值与背面之间变换。

现在我定义一个自定义货币指令如下:

.directive("currency", function($filter, formatServices: FormatServices){
    // convert to number
    var p = function(viewValue){
        if (angular.isDefined(viewValue)) {
            return $filter('number')(formatServices.currParse(viewValue));
        }
    };

    var f = function(modelValue){
        if (angular.isDefined(modelValue)) {
            // <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< HERE WHAT FILTER TYPE?
            return $filter('???')(formatServices.currFormat(modelValue));
        }
    };

    return {
        require: 'ngModel',
        link: function(scope, ele, attr, ctrl){
            ctrl.$parsers.unshift(p);
            ctrl.$formatters.unshift(f);
        }
    };
})

在注释行中,我需要一个过滤器类型。查看我尝试使用的Ng 中可用的过滤器类型number但不起作用,因为它是一个字符串输出。json过滤器类型有效,但输出包括双引号。uppercase并且lowercase不工作,因为它们破坏了我的格式,例如我可以拥有 100k 或 1.5M。没有text过滤器所以我不知道在那里填写什么才能让这个工作......

耶稣卡拉斯科

您可以制作自己的过滤器。此示例创建一个 IntegerCurrency。

.filter('myCurrency', ['$filter', function ($filter) {
  return function(input) {
    input = parseFloat(input);
    if(input % 1 === 0) {
      input = input.toFixed(0);
    }
    return '$' + input;
    //you can change $ or € put ',' '.'  '-' or decorate whate ever the output.
  };
}])

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

我们可以使用angular js中的自定义过滤器过滤嵌套的json数据吗

来自分类Dev

AngularJs-在指令控制器内使用自定义过滤器

来自分类Dev

在 AngularJS 中的 ng-repeat 指令中使用自定义过滤器订购数据

来自分类Dev

创建实际排序的 AngularJS 自定义过滤器

来自分类Dev

AngularJS:将货币过滤器应用于自定义过滤器的返回值

来自分类Dev

在AngularJs中使用自定义过滤器

来自分类Dev

使用NEST创建自定义令牌过滤器

来自分类Dev

使用TypeScript创建自定义Angular过滤器

来自分类Dev

AngularJS:如何在指令中使用货币过滤器?

来自分类Dev

我们如何自定义内置的Angular“货币”过滤器?

来自分类Dev

AngularJS通过自定义过滤器函数$ rootScope:infdig将范围传递给指令

来自分类Dev

是否可以使用Quickblox Messages API在邮件上添加自定义过滤器/逻辑

来自分类Dev

在角度过滤器中使用自定义过滤器,指令和http GET请求?

来自分类Dev

编写Boto3过滤器以使用自定义标签名称的正确方法是什么?

来自分类Dev

可以使用putAll的番石榴Bloom过滤器来创建更大尺寸的新Bloom过滤器吗?

来自分类Dev

AngularJs:如何在ngRepeat内添加自定义过滤器来操作小数?

来自分类Dev

Angular 自定义指令在过滤器中使用范围变量

来自分类Dev

AngularJS:我可以使用在另一个模块中定义的过滤器吗?

来自分类Dev

是否可以将HTML输入字段变量传递给自定义Angularjs过滤器?

来自分类Dev

自定义内容类型验证过滤器?

来自分类Dev

自定义内容类型验证过滤器?

来自分类Dev

如何在Angularjs的单个模块中创建多个自定义过滤器

来自分类Dev

如何创建自定义过滤器angularjs javascript控制器端?

来自分类Dev

如何在Angularjs的单个模块中创建多个自定义过滤器

来自分类Dev

我可以使用过滤器来注释Elasticsearch中的匹配项吗?

来自分类Dev

何时执行AngularJS自定义过滤器?

来自分类Dev

AngularJs的自定义搜索过滤器

来自分类Dev

多输入自定义AngularJS过滤器

来自分类Dev

带有自定义过滤器的AngularJS分页

Related 相关文章

  1. 1

    我们可以使用angular js中的自定义过滤器过滤嵌套的json数据吗

  2. 2

    AngularJs-在指令控制器内使用自定义过滤器

  3. 3

    在 AngularJS 中的 ng-repeat 指令中使用自定义过滤器订购数据

  4. 4

    创建实际排序的 AngularJS 自定义过滤器

  5. 5

    AngularJS:将货币过滤器应用于自定义过滤器的返回值

  6. 6

    在AngularJs中使用自定义过滤器

  7. 7

    使用NEST创建自定义令牌过滤器

  8. 8

    使用TypeScript创建自定义Angular过滤器

  9. 9

    AngularJS:如何在指令中使用货币过滤器?

  10. 10

    我们如何自定义内置的Angular“货币”过滤器?

  11. 11

    AngularJS通过自定义过滤器函数$ rootScope:infdig将范围传递给指令

  12. 12

    是否可以使用Quickblox Messages API在邮件上添加自定义过滤器/逻辑

  13. 13

    在角度过滤器中使用自定义过滤器,指令和http GET请求?

  14. 14

    编写Boto3过滤器以使用自定义标签名称的正确方法是什么?

  15. 15

    可以使用putAll的番石榴Bloom过滤器来创建更大尺寸的新Bloom过滤器吗?

  16. 16

    AngularJs:如何在ngRepeat内添加自定义过滤器来操作小数?

  17. 17

    Angular 自定义指令在过滤器中使用范围变量

  18. 18

    AngularJS:我可以使用在另一个模块中定义的过滤器吗?

  19. 19

    是否可以将HTML输入字段变量传递给自定义Angularjs过滤器?

  20. 20

    自定义内容类型验证过滤器?

  21. 21

    自定义内容类型验证过滤器?

  22. 22

    如何在Angularjs的单个模块中创建多个自定义过滤器

  23. 23

    如何创建自定义过滤器angularjs javascript控制器端?

  24. 24

    如何在Angularjs的单个模块中创建多个自定义过滤器

  25. 25

    我可以使用过滤器来注释Elasticsearch中的匹配项吗?

  26. 26

    何时执行AngularJS自定义过滤器?

  27. 27

    AngularJs的自定义搜索过滤器

  28. 28

    多输入自定义AngularJS过滤器

  29. 29

    带有自定义过滤器的AngularJS分页

热门标签

归档