1

我正試圖計算用戶鍵入的2個值,並將該結果設置爲另一個值的ng模型。不過,我似乎無法得到這個代碼工作。您是否可以基於範圍上的其他值ng-init ng-model的值?

<input type="number" ng-model="a"> 
<input type="number" ng-model="b"> 
<input type="number" ng-init="c = a * b" ng-model="c"> 

我一直在使用parseFloat也嘗試:

//in controller 
$scope.parseFloat = parseFloat(); 

<input type="number" ng-init="c = (parseFloat(a) * parseFloat(b))" ng-model="c"> 

我能得到我想要的標籤{{a * b | number:2 | currency}}的結果,但不是作爲一個NG-模型。有任何想法嗎?

+0

的可能的複製http://stackoverflow.com/questions/30579223/ng-init-not-working-when-the-ng- options-list-is-change#answer-30579456 – PSL

+0

ng-init只能用於ng-repeat指令。您應該使用c作爲ng-model,並更新on-change事件 – fantarama

+0

@fantarama上的值,確切地說,ng-init _can_可以在任何地方使用,但適當的用法是用於別名ng-repeat的特殊屬性。 – PSL

回答

0

ng-init僅在初始化節點時調用一次。你可以嘗試使用ng-change在兩個輸入集合C的值

<input type="number" ng-model="a" ng-change='c=a*b'> 
<input type="number" ng-model="b" ng-change='c=a*b'> 
+0

這對我很有意義,但仍然無法正常工作。即使我有type =「number」,我實際上也會遇到NAN錯誤。有關於此的任何想法? – JoshPMP