首页 > 解决方案 > 输入字段与 number 类型的对象属性之间的两种方式数据绑定导致字符串值

问题描述

如果我在 Typescript 中有一个对象 Customer(骨架示例):

var Customer: ICustomer = <ICustomer>{};
...
interface ICustomer {
orderAmount: number;
}

在html中:

<input ng-model="vm.Customer.orderAmount"... >

并且用户在输入字段中键入一个数字,orderAmount 包含一个字符串而不是一个数字。这是正常行为吗?我期待一个数字,因为我期待 TypeScript 将值转换为一个数字,因为数字类型。如果我想对其进行算术运算,看起来我仍然需要解析该值。

标签: angularjstypescript

解决方案


您可以将输入设置为 type="number",这样您的模型应该是数字而不是字符串。

    <input type="number" name="input" ng-model="example.value">

请注意,如果您将输入元素设置为 type="number",您的模型必须始终为数字以防止引发错误


推荐阅读