2017-09-29 17 views
0

addControl()メソッドをAngularフォームで再生する関数を作成しましたが、どのように適用しようとしても適用してもエラーが表示されます(something).addControl() is not a functionaddControl()角度2で「関数ではありません」エラーを投げる

私は、これらの変数は、関数はそれがあなたにどんな違いがあれば、私はコンストラクタでそれを呼び出すこの

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); 

} 

のように見える私のクラスに

demoA:string = 'name'; 
demoB:Array<string> = ['city', 'state']; 
demoC:FormGroup<any>= {}; 

が定義されています。私はもともとそれをforEach()メソッドの中で実装しようとしていましたが、同じエラーを受けました。これは1つの変数で試してみることにしました。私はFormsReactiveFormsModuleの両方を正常に他のもので動作するアプリケーションモジュールにインポートしました。 Angularの文書で何か他のものをコンポーネントにインポートする必要があると言いましたが、何が間違っていますか?

答えて

1

変数ccのタイプはFormGroupですが、Objectと定義されているため、FormGroupと定義する必要があります。

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

またはおかげで働いた@angular/forms

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

からFormBuilderを使用! – Optiq

関連する問題