いいえ、私は単一の反応性フォームコンポーネントを作成しました。 たとえば、フォームがアドレスフォームであるとします。角度反応型:1つのフォームコンポーネントに対してサービスを動的に呼び出す方法
今私が上addressFormを呼び出したい特定の反応性アドレス形式のデータモデルは、
export interface Address {
addressId: number;
addressTypeValueId: number;
addressLine1: string;
addressLine2: string;
addressLine3: string;
postalId: number;
cityId: number;
stateCode: string;
countryCode: string;
primaryInd: string;
createDatetime: Date;
updateDatetime: Date;
createUserId: number;
updateUserId: number;
}
であり、私が作成したリアクティブフォームは
addressForm = new FormGroup ({
name: new FormControl()
});
です異なるコンポーネント。 たとえば、私は3つの異なるコンポーネントを持っています。学校、大学、病院を教えてください。
これらの3つのコンポーネントはすべて、3つの異なるデータモデルと3つの異なるサービスを備えています。 postSchoolpostCollegepostHospital
Iは、これらの3つの異なる成分に{form_component}を添加した後、それぞれのモデルにデータを送信することがあります。
サービスを動的にバインドする方法がわかりませんボタンをサブミットしてフォームに送信してください。呼び出されたコンポーネントに応じて適切なサービスを呼び出す必要があります。
内の同じformGroupへのアクセスを得、そのコンストラクタにこのサービスをインポートすることができformGroup及びこれらの3つのコンポーネントが含まれているサービス/プロバイダを持つことができます。しかし、フォームに特定のコンポーネントを追加するので、異なるコンポーネントは明らかに使用するサービスを知っています。そして、おそらく、汎用フォームコンポーネントの代わりにそれらのコンポーネントを実際に提出することを委任することを検討すべきです –