2017-07-24 38 views

回答

3

使用模板驅動方法,您基本上在模板中應用指令,如ngModel。基於這些指令Angular將創建formcontrol對象。這種方法適用於構建具有基本驗證的簡單表單(必需,最小長度,最大長度...)。

使用被動方法,您基本上需要在組件中創建formcontrols和formcontrolgroups的新實例。反應形式也是構建更復雜形式的最佳選擇,如果您有意爲您的表單執行單元測試,則反應形式更好。

結帳以下主題...

http://blog.angular-university.io/introduction-to-angular-2-forms-template-driven-vs-model-driven/

Angular2 Forms API, Template driven or Reactive?

9

由於它是從問題模板驅動形式來明確的東西,當我們編寫邏輯,驗證,控制了一切模板部分我的意思是在html代碼中。該模板負責設置表單,驗證等。

而在的情況下反應形式控制器端的所有邏輯驗證部分我的意思是打字稿文件/類。 對於被動方法,您正在使用組件中的所有代碼。一種遠更少噪聲的方法

模板驅動形式特點

  • 更易於使用
  • 適合簡單的場景
  • 使用兩個雙向數據綁定(使用[(NgModel)]的語法)
  • 最少的分量代碼
  • 表單及其數據的自動跟蹤(由Angular處理)
  • 單元測試是挑戰

活性形式特點

  • 方便單元測試
  • 更靈活,所以處理任何複雜的情況。
  • 活性變換可以由可能的,例如將元素添加動態
  • 沒有數據綁定完成(通過大多數開發優選不可變的數據模型)
  • 更多分量代碼和更少的HTML標記

+0

你能澄清更多關於「不可變數據模型」嗎?也許有一個例子或鏈接? –

+1

@AbeerSul請通過以下鏈接瞭解更多關於Immutable數據: https://blog.thoughtram.io/angular/2016/02/22/angular-2-change-detection-explained.html –

相關問題