我想问一下是否有可能将整个物体发送到角度2的反应形式.
这是我的表格:
this.parameterForm = this.fb.group({ 'name': ['',Validators.required],'description': "",'parameterType':'' });
第三个属性(parameterType)应该是一个对象. (名称和描述只是简单的字符串.
我对parameterType的HTML是(formControlName用于映射它):
<label for="parameterType">Parameter Type</label> <select id="parameterType" class="form-control" formControlName="parameterType"> <option *ngFor="let parameterType of parameterTypes" [value]="parameterType"> {{parameterType.name}} </option> </select>
select中的值是对象(在别处创建).提交表单时,我想拥有parameterType对象.提交尝试将表单解析为名为Parameter的对象:
export class Parameter { public id: number; public name: string; public description: string; public parameterType? : ParameterType }
但是当我试图在控制台中读取结果时,parameterType只包含一个字符串“[Object object]”,看起来像parameterType只是一个String,并且在提交表单时,该对象被转换为一个简单的字符串.
我的提交功能是这样的:
onSubmit( {parameter}:{parameter: Parameter} ) { console.log(parameter); }
现在我只是这样做,在参数类型我发送id和通过服务我得到对象,但这个解决方案不是很好.你知道我可以将对象传递给表单吗?
谢谢
解决方法
我认为你需要使用[ngValue]而不是[value].