Angular.js使用ngModel设置输入字段值

时间:2016-06-06 20:30:40

标签: javascript angularjs

我正在尝试使用angular.js进行格式化货币的输入,最好是在焦点丢失时。这是我到目前为止所拥有的

<div layout-fill>
    <md-input-container layout-fill currency class="number-range">
        <input placeholder="From"
               type="text"
               name="from"
               precision="{{rangeController.precision}}"
               ng-blur="pls = {{pls | currency}}"
               ng-model="pls"/>
    </md-input-container>
</div>

其中precision始终计算为2。我知道这是错误的(因为它不起作用),但我在文档中找不到任何关于此的内容,而且我在google上讨论了可以使用百种不同国际货币格式化的大型JQuery库。我想既不使用JQuery,也不使用任何外部代码,这似乎很简单,所以我无法弄清楚为什么没有人试过这样做。

1 个答案:

答案 0 :(得分:0)

我相信这plunker会做你所要求的。它使用此指令:

   .directive('blurToCurrency', function($filter){
  return {
    scope: {
      amount  : '='
    },
    link: function(scope, el, attrs){
      el.val($filter('currency')(scope.amount));

      el.bind('focus', function(){
        el.val(scope.amount);
      });

      el.bind('input', function(){
        scope.amount = el.val();
        scope.$apply();
      });

      el.bind('blur', function(){
        el.val($filter('currency')(scope.amount));
      });
    }
  }