我使用Angular创建了一个表单,在帖子提交中,响应正文以这种格式带有数据类型的前缀:
{
field1: 'String: input1',
field2: 'String: input2',
field3: 'Number: input3'
}
是否有更简单的方法可以采用以下格式
{
field1: 'input1',
field2: 'input2',
field3: 'input3'
}
目前我正在对此进行递归删除一般前缀,如Number&串
请注意,此处使用的表单类型为Select-Options
答案 0 :(得分:2)
1RST。我建议你不要将你的模型命名为" ngMake",这是一种不好的做法。 " NG"是angularjs的保留前缀。让我们称之为" makeObj"。当你迭代" make"它将被绑定到模型。阵列。
第二,你使用ng-options是错误的。在您的情况下,它应该像这样使用:select as label for value in array
或label for value in array
其中
- 选择应该是" makeObj.id" (您要发送的对象属性)
- 标签应该是您希望显示为选项的数据," makeObj.name"
- 值应为" makeObj"
- 数组是" make"
<select
id="makeObj"
ng-model="makeObj"
ng-change="getModelData(makeObj)"
ng-options="makeObj.id as makeObj.name for makeObj in make">
</select>
如果您不希望获得属性,而是整个JSON对象:
<select
id="makeObj"
ng-model="makeObj"
ng-change="getModelData(makeObj)"
ng-options="makeObjVal for makeObj in make">
</select>
这应该可以解决您的问题,不需要函数来获取子字符串 您可以了解有关ngOptions here
的更多信息