2014-09-03 71 views
0

我想在輸入的文本上應用格式過濾器,但不在其模型上,但是當用戶更改了適當的(「純」)值時更新ngModel輸入字段。這裏是我的意思是......AngularJS - ngFilter,格式輸入但不是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

正如你可以看到我想保持綁定,但我也希望模型不受格式的影響。我怎樣才能做到這一點?

回答

0

您應該可以使用Angular提供的默認貨幣過濾器。 如果您使用過濾器,則只有屏幕輸出發生更改 - 內部模型保持不變。要看到這一點,你可以寫這樣的東西:

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

你會看到內部模型的值是不變的。

Here's與完整的代碼plunker。