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

文章目录

    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

    关于作者 🌱

    我是来自山东烟台的一名开发者,有感兴趣的话题,或者软件开发需求,欢迎加微信 zhongwei 聊聊,或者关注我的个人公众号“大象工具”, 查看更多联系方式