VueJS v-model 自动将输入框获取的字符串转换为数字

发布时间: 2020-03-02 13:08:38 作者: 大象笔记

JS 的类型转换容易出现 bug

html input 输入框即便指定 type="number",也经常出现 v-model 获取到的值为字符串的情况。

于是就出现了,在数值计算逻辑中,数字与字符串相加的情况。

> 100 + "2.35"
"1002.35"

而我们预期的是:

100 + 2.35
102.35

在钱相关的计算中,这非常危险。

所以,不得不使用 parseFloat() 或者 Number() 对字符串进行转换。

VueJS 自动转换

<input v-model.number="price" type="number">

这样就方便多了。

类似的功能还有 v-model.trim。

参考

https://vuejs.org/v2/guide/forms.html#number

我是一名山东烟台的开发者,联系作者