2014-09-28 82 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