我遇到了问题,Vue将number类型的输入字段的值转换为字符串,我无法弄清楚原因.我正在遵循的指南没有遇到这个问题,正如预期的那样得到值作为数字.

vue docs声明,如果输入的类型是数字,Vue会将值转换为数字.

{{ stock.name }}

(Price: {{ stock.price }})

Buy

export default {

props: ['stock'],

data() {

return {

quantity: 0 // Init with 0 stays a number

};

},

methods: {

buyStock() {

const order = {

stockId: this.stock.id,

stockPrice: this.stock.price,

quantity: this.quantity

};

console.log(order);

this.quantity = 0; // Reset to 0 is a number

}

}

}

数量值是问题.它初始化为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没有将值转换为数字?

Logo

前往低代码交流专区

更多推荐