2017-06-15 14 views
6

新しいAngular 2プロジェクトを開始しており、反応的なフォームとテンプレートフォームのどちらを使用するか検討しています。 Reactive Formsの最大の利点は、それらが同期していることですが、シンプルなフォームがあり、非同期性が私たちの問題を引き起こすとは考えていません。 Reactiveでは、同じことをするためのより多くのコードが表面にはるかに多くのオーバーヘッドがあるようです。角度2の反応式とテンプレートのフォーム

誰かがReactiveをより単純なテンプレートフォームに使用する確固たる使用例を提供できますか?

答えて

27

Template-driven vs Reactive Forms

これはPluralsightのフォーム上の私のコースからのスライドです。これらの点のいくつかは議論の余地があるかもしれませんが、私はこのリストをまとめるためにFormsを開発したAngularチームの人と協力しました。

+0

素晴らしい要約、私は疑問に思いますか? – bwobbones

+0

ユーザーに基づいて変更される検証ルール(異なる国または管理者と標準ユーザーの異なるルール)、入力要素を動的に追加して、ユーザーが入力を停止してから一定時間が経過するまで検証を待機します。それらはすぐに心に来るものです。あなたはあなたの心を整える前に、コースを見ることができます:https://app.pluralsight.com/library/courses/angular-2-reactive-forms/table-of-contents。あなたは無料の週にサインアップすることができます。 – DeborahK

+0

私に意味をなさない! – bwobbones

1

テンプレート駆動設計の利点は、その単純さです。コントローラーにコードはあまりないでしょう。ほとんどのロジックはテンプレート内で発生します。これはhtmlコードの背後に多くのロジックを必要としない単純なフォームに適しています。

しかし、各フォームはさまざまな相互作用によって更新できる状態を持ち、その状態を管理して破損しないようにするのはアプリケーション開発者次第です。これは非常に大きなフォームでは難しく、バグを導入する可能性があります。

一方、より多くのロジックが必要な場合は、しばしばテストする必要もあります。次に、反応モデル駆動型設計はより多くを提供します。フォーム検証ロジックを単体テストできます。クラスをインスタンス化し、フォームコントロールにいくつかの値を設定し、テストを実行することで、これを行うことができます。複雑なソフトウェアの場合、これは設計と保守性のために絶対必要です。リアクティブモデル駆動設計の欠点は、その複雑さです。

両方のデザインタイプを混在させる方法もありますが、どちらのタイプの欠点もあります。

あなたが、これはここで両方の方法のための簡単なコード例で説明を見つけることができます:あなたは、複雑なシナリオがあるかもしれない感じるものの一例を提供する可能性がある場合 Introduction to Angular Forms - Template Driven vs Model Driven or Reactive Forms

関連する問題