我が名はなんとか菜である!スマートフォン用の表示で見る我が名はなんとか菜である!主に技術系の記事を書きますが、ポエムも混入します。2017-06-16【Angular4】FormGroupに入れ子になったFormArrayをComponentの親子で共有するAngular4でも2でも動くと思うけど4って書いたほうがかっこいいかなと思って。Angular4でComponentを書いてるとしばしば次のような問題にブチ当たります。Componentが無限にデカくなる最初から適切に画面の分割ができていればいいんですが、実際のプロダクトだと設計書の段階ですでに闇鍋だったりして、頑張ってServiceにロジックを詰め込んでも、一つのcomponent.tsがUI操作だけで2000行とかになったりして無事に死にます。これに対する応急措置として、親子関係を作ってComponentを分割するというのがありますが、FormGroupを使って入力値の管理をしている場合は一筋縄では行きません。nullようなエラーが出て上手く動きません。公式ドキュメントもイマイチ参考にならなかったので色々試行錯誤したところ、ようやくうまくいく方法が見つかったので、覚え書きしておきます。結論から言えば「@Input()で親のFormGroupを子に渡す」です。最初はFormArrayを直接渡していたりしたんですが、そうすると値の更新が上手く行きませんでした。推測ですが、FormArrayは単体で使うのではなくて、あくまでFormGroupに内包されているのが前提という仕様なのではないか、と思っています。動かせるやつgithub.comもっと効率のいい方法はありそうですが、取り敢えず動いたのでこれで。»プロフィールid:happo31八宝菜という人間がこのブログを書いています。月別アーカイブ参加グループプログラミングはてなブログをはじめよう!happo31さんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。