0

我有這個輸入:如何讓ng模型使用ng值工作?

<input type="number" id="totWeight" ng-model="totWeight" ng-value="getTotWeight()" /> 

該值是基於其他字段計算的,但它也可以經由輸入字段手動插入。

問題是,當它被計算時,ng-model保持爲空,所以我試圖在將數據發送到服務器時分配計算值if (!$scope.totWeight),這不是最優的。此外,如果我通過輸入字段插入一個值,然後更改上述觸發getTotWeight()函數的其他字段,則$scope.totWeight的值將不會被上面的if (!$scope.totWeight)更新。

對不起,我不知道該如何解釋。希望有人能幫助我。

回答

1

的NgValue指令的目的是作爲​​說

它主要用於對輸入[無線電]和選項元素,因此,當 被選擇的元素,該元素的ngModel(或其選擇 父元素)設置爲綁定值。

所以當使用輸入類型「數字」時,你不應該使用它,因爲它的值實際上是在NgModel中。

如果你想在輸入改變時觸發一個事件,按鍵是按等,你應該使用NgChange,NgKeypress等來觸發該功能。 對於所有情況,該值都將在NgModel中保留。

+0

不確定我應該用ng-change或ng-keypress做什麼。我不能像這樣在ng-model中放置一個函數:'ng-model =「getTotWeight()」'因爲它會給我一個錯誤。 我應該嘗試觸發其他輸入字段的功能,並填寫問題的ng模型輸入,然後... – Tomo

+1

@Marucs H:幸運的是,我不需要編寫我的問題中的所有代碼,因爲解決方案很簡單如預期。謝謝。 – Tomo