作者:甫士归 | 来源:互联网 | 2023-09-07 04:36
我遇到了问题,Vue将number类型的输入字段的值转换为字符串,我无法弄清楚原因.我正在遵循的指南没有遇到这个问题,正如预期的那样得到值作为数字.vuedocs声明,如果输入的
我遇到了问题,Vue将number类型的输入字段的值转换为字符串,我无法弄清楚原因.我正在遵循的指南没有遇到这个问题,正如预期的那样得到值作为数字.
vue docs声明,如果输入的类型是数字,Vue会将值转换为数字.
代码源自一个组件,但我将其调整为在JSFiddle:https://jsfiddle.net/d5wLsnvp/3/中运行
{{ stock.name }} (Price: {{ stock.price }})
数量值是问题.
它初始化为0,当我按下“购买”按钮时,控制台显示:
Object { stockId: 1, stockPrice: 110, quantity: 0 }
但是只要我通过使用微调器或仅输入新值来更改值,控制台就会显示:
Object { stockId: 1, stockPrice: 110, quantity: "1" }
使用Firefox 59.0.2和Chrome 65.0.3325.181进行测试.两人都表示他们是最新的.我实际上也在Microsoft Edge中尝试过,结果相同.
那我在这里错过了什么?为什么Vue没有将值转换为数字?
解决方法:
您需要使用.number modifier for v-model,如下所示: