2014-09-28 85 views
1

我做一些簡單的數據,像這樣綁定:角數據綁定返回NaN當值爲零

<input type="text" class="form-control" model="amount"> 
<label>Your amount is {{amount * 10 }}</label> 

然而,最初,當文本輸入爲空,返回NaN。

如何防止Angular發生這種情況?

+0

您必須觀察並將'amount'的數據類型轉換爲整數,否則將其字符串乘以10,這會給您帶來意想不到的結果。 – 2014-09-28 08:59:50

回答

7

你可以試試這個:

<input type="text" class="form-control" model="amount"> 
<label>Your amount is {{ (+amount) * 10 }}</label> 

HTML文本輸入被定義文本。添加的+會在使用之前將其轉換爲數字。

0

使用三元運算符來檢查下面的tempalte中的isNaN。

<input type="text" class="form-control" model="amount"> 
<label>Your amount is {{ (!isNaN(amount)) ? (amount * 10) : '' }}</label> 
+0

這不是訣竅。 – 2014-09-28 08:58:24

+0

刪除它應該工作的邏輯否定運算符。去除否定後, – 2014-09-28 09:03:10

+0

仍然不起作用。 – 2017-03-09 15:11:40