2016-06-13 10 views
0

Angular2のネストされたフィールドをサポートする方法はありません。Angular2はネストされたプロパティをフォームでサポートしていません

クラス

ngOnInit() { 
this.form = this._fb.group({ 

    name: { 
    given: ['', Validators.required], 
    middle: [''], 
    family: ['', Validators.required] 
    } 

}); 
} 

テンプレート

<form [ngFormModel]="form"> 

<input ngControl="name.given" type="text" placeholder="First Name"> 
<input ngControl="name.middle" type="text" placeholder="Middle Name"> 
<input ngControl="name.family" type="text" placeholder="Last Name"> 

</form> 

私はコンソールでCannot find control 'name.given'エラー出力次取得しています。私はngControlに対して他の構文name['given']name[given]などを試しましたが、同じ種類のエラーが発生しました。

angle2でどのようにネストされたフィールドを使用して作業しますか?

+0

[ここ](https://angular.io/docs/ts/latest/api/common/index/FormBuilder-class.html)が答えです。 – Lekhnath

答えて

2

あなたはFormBuilderでインライン(ngControl付き)フォームと、プログラムのフォームを修正 - この場合には、あなたは)ngFormControlを使用する必要があります。

私はあなたがフォームグループを探していると思います。ここにサンプルがあります:

<div ngControlGroup="name" #cgName="ngForm"> 
    <p>First: <input ngControl="give" required></p> 
    <p>Middle: <input ngControl="middle"></p> 
    <p>Last: <input ngControl="family" required></p> 
</div> 

このplunkr:https://plnkr.co/edit/M4FGTNAx8lo8jzBivH0P?p=previewを参照してください。

+0

コンソールで 'name - > given''エラーメッセージが見つかりません。 – Lekhnath

+0

おそらくあなたは 'form'要素を忘れてしまったでしょう。私は私の答えにplunkrを追加しました;-) –

+0

[ngFormModel] [ここ](https://plnkr.co/edit/YZwO4PXwvqnMsAfsJ6oY?p=preview) – Lekhnath

関連する問題