addControl() 在 Angular 2 中抛出 "not a function" 错误

addControl() throwing "not a function" error in Angular 2

我创建了一个函数来使用 Angular 表单中的 addControl() 方法,但无论我如何尝试应用它或在何处应用它,我都会收到错误提示 (something).addControl() is not a function.

我在 class

中定义了这些变量
demoA:string = 'name';
demoB:Array<string> = ['city', 'state'];
demoC:FormGroup<any>= {};

函数看起来像这样

loadStuff(){
    let a = this.demoA;
    let b = this.demoB;
    let c = this.demoC;
    let ab:Array<string> = [];
    let cc:FormGroup= {};

    ab.push(a);
    b.forEach(bb => { ab.push(bb)});
    console.log(ab);

    cc.addControl(a, new FormControl('') );

    console.log(cc);

}

如果这对您有任何影响,我会在构造函数中调用它。我最初试图在 forEach() 方法中实现它,但在我决定在一个变量上尝试它时遇到了同样的错误。我已将 FormsReactiveFormsModule 成功导入到应用程序模块中,并在其他方面正常工作。我在 Angular 的文档中没有遇到任何说明您需要将任何其他内容导入组件的内容,我做错了什么?

变量 cc 的类型为 FormGroup 但它被定义为 Object,您必须将其定义为 FormGroup.

let cc:FormGroup = new FormGroup({});

或使用 @angular/forms

中的 FormBuilder
constructor(private formBuilder: FormBuilder) { }
// ...
let cc: FormGroup = this.formBuilder.group({});