如何将模型名称属性与相对形式属性映射-Angular 6

时间:2019-05-24 17:34:50

标签: angular

因此,假设我有一个像这样的表格:

myForm= this.formBuilder.group({
      thing: this.formBuilder.group({
        att1: [[], []],
        att2: ['', []],
        att3: [[], []]
      })
    }, { updateOn: 'blur' });

和这样的模型:

export interface Thing{

    att1:string;
    att2:string;
    att3:string;


    }

如何在模型中设置表单?

newThing={
att1: this.myform.get('thing.att1).value;
...
}

这不是执行此操作的好方法。如何以最佳方式在模型中设置表单?

2 个答案:

答案 0 :(得分:0)

您可以使用表单的value属性,并可以像这样分配它:

newThing = this.myform.value

答案 1 :(得分:0)

您可以使用值属性,也可以像这样逐个元素地

const thing : Thing = {
 att1: myForm.controls['att1'].value,
 att2: myForm.controls['att2'].value,
 att3: myForm.controls['att3'].value,
}

如果您不希望类的所有属性在表单中完全相同,则此功能很有用。

并以不同的方式设置以下形式的Object值

myForm.controls['att1'].setValue(thing.att1);