web-dev-qa-db-ja.com

子コンポーネントのformControlName

カスタム入力コンポーネントを作成してフォームで再利用したいのですが、formGroupとformControlNameで問題が発生しています。

// Form
<form [formGroup]='loginForm'>
  <custom-input [myFormControlName]='email'></custom-input>
</form>

// CustomInput Component's Template
<input formControlName='myFormControlName'>

問題は、formControlNameがFormGroupディレクティブで使用されることを想定しているようであり、サブコンポーネントでformControlNameを使用しているため、formControlNameが見つかりません。それを回避する方法を誰かが知っていますか?

10
Gabriel

子コンポーネントに control value accessor を実装する必要があります。詳細はこちら https://blog.thoughtram.io/angular/2016/07/27/custom-form-controls-in -angular-2.html

6
alexKhymenko