2016-11-30 23 views
0

への参照を取得し、私はngFormは、私が理解できるよう、運賃として、FormGroupある角度2 - 角度2つのテンプレート駆動型の形態ではformGroup

<form #form="ngForm"> 
[...] 
</form> 

書くことができます。対応するコンポーネントでそのオブジェクトを取得するにはどうすればよいですか?

class FormComponent { 
    formGroup: FormGroup; // How do I have the form INJECTED AUTOMATICALLY by the framework? Something like a ViewChild, but it's not a view 
} 

これは単純である必要がありますが、ドキュメントにはテンプレート内のフォームの使用方法のみが示されています。

おかげ

編集:私はつかむために何をしたいの種類がNgFormで、FormGroupありません!

答えて

2

ViewChildデコレータを使用して、コンポーネントから任意のテンプレート変数にアクセスできます。あなたの場合:

class FormComponent { 
    @ViewChild('form') formGroup; 
    ngOnInit() { 
     this.formGroup.statusChanges().subscribe(() => { 
      // Your code here! 
     }); 
     console.log(this.formGroup); // Inspect the object for other available property and methods. 
    } 
} 
+0

私は言ったようにしようとしていただけでなく、読み込み:ViewContainerRefを使用しました。それは間違っていた。 readオプションを省略すると、NgFormが生成されます。これはFormGroupではなく、私が望むオブジェクトの実際の型です。 私はこの答えを見てこれを理解しました:http://stackoverflow.com/questions/36583078/how-to-get-reference-to-angular-built-controlgroup-from-within-a-component?rq=1 – Etchelon

関連する問題