AngularJS - ngFilter,格式输入但不是ngModel

时间:2014-09-03 12:30:50

标签: angularjs angular-filters

我想在输入的文本上应用格式过滤器,但不在其模型上,但在用户更改时使用正确的("纯")值更新ngModel输入字段中的值。这就是我的意思......

例如,假设我有这个对象:

$scope.myObject = {
                value: 1234434.12,
                format:"currency"
            };

这个输入:

<input type="text" ng-model="myObject.value" format="myObject.format" />
<pre>{{myObject.value|json}}</pre>

我想要的是:

  • 输入中的文字为:1,234,434.12
  • ngModel的值为:1234434.12

当用户将输入文本从1,234,434.12更改为1,234,555.60我希望:

  • 输入中的文字为:1,234,555.60
  • ngModel的值为:1234555.60

正如您所见,我想保留绑定,但我也希望模型不受格式的影响。我怎样才能做到这一点?

1 个答案:

答案 0 :(得分:0)

您应该可以使用Angular提供的默认货币过滤器。 如果使用过滤器,则仅更改屏幕输出 - 内部模型保持不变。要看到这个,你可以这样写:

<br>internal model value: <span>{{data.value}}</span>
<br>formatted as currency (USD$): <span>{{data.value | currency}}</span>

您将看到内部模型值未更改。

Here's一名带有完整代码的傻瓜。