2017-06-29 6 views
1

子コンポーネントの内側から[(ngModel)]を作ろうとしています。私が最後に望むのは、ビッグコンプリートフォームを小さな読みやすいフォームに分割することです。私のコードがわかりやすくなることを願っています。ここで`ngModel`を子コンポーネントから親にパイプする

は私の働いていないコードです:https://plnkr.co/edit/UrTopLJ8RsZovltDkPiR?p=preview

私はこの非常に便利な記事からの私のコードをフォークしました:https://blog.thoughtram.io/angular/2016/10/13/two-way-data-binding-in-angular-2.html#creating-custom-two-way-data-bindings

私がうまく角度4.

+0

どのようなフォームを使用しますか?テンプレート駆動型またはモデル駆動型? – Alex

+0

@ AJT_82私はテンプレート駆動が私の場合より良い選択だと思います – Dan

答えて

0
に大きなフォームを分割する方法がある願っています

あなたが欠けているものはゲッターとセッターです。テンプレートで、その後

@Input() counter; 
@Output() counterChange = new EventEmitter(); 

と::それらを使用するか、そして修正値を発するようにngModelChangeを使用し、あなたが言及したように

(ngModelChange)="counterChange.emit(counter)" 

PLUNKER

、フォームでこれを使用すると思います。私が示唆しているのは、あなたがモデル駆動フォームを使用することです、それ以来、あなたはこれを必要としないでしょう。親にフォームを作成し、ネストされたフォームグループを子(ren)に渡すことができます。親はあなたが子供に加えた変更を、使用せずに知っているでしょう@Output()

ここでは、子コンポーネントにネストされたグループを渡す例で、Nested model driven formsを構築するという素晴らしい例があります。

関連する問題