Angular6 - 使用名称获取嵌套 FormGroup

Angular6 - Get Nested FormGroup using name

我有嵌套表单组

address = new FormGroup({
'com.complex.Address':new FormGroup({
            city: cityControl,
            streetName: streetNameControl,
            houseNumberAddition: houseNumberAdditionControl,
            houseNumber: houseNumberControl,
            postcode: postcodeControl
          })
});

我想找到嵌套表单组,即 "com.complex.Address"。

我已经试过了

this.form.get('address').get('com.complex.Address');

但它总是 return 空值。

现在,如果我将嵌套的表单组(即 'com.complex.Address')更改为任何其他名称,例如 "test" 并执行 this.form.get('address').get('test');,它实际上 return 我想要的值。

但关键是我无法更改嵌套名称,它会包含一些特殊字符。

如何转义字符并根据需要使用表单组?

查看 .get() 的 angular 代码,它使用“.”作为路径数组的分隔符。

我看不到任何解决方案可以通过它。无论如何你可以使用:

(<FormGroup>this.form.get('address')).controls['com.complex.Address']; 

这样试试

 NewForm = this.fb.group({
        relationshipId: this.fb.group({
            code: [null, Validators.required]
        })});

this.NewForm.get('relationshipId').value.code  
this.NewForm.get('relationshipId').get('code').value`