存在着ReactiveFormModule和FormsModule。ReactiveFormsModule與FormsModule在Angular2
import {FormsModule, ReactiveFormsModule} from "@angular/forms";
什麼時候應該使用ReactiveFormModule什麼提供該模塊相較於FormModule。
存在着ReactiveFormModule和FormsModule。ReactiveFormsModule與FormsModule在Angular2
import {FormsModule, ReactiveFormsModule} from "@angular/forms";
什麼時候應該使用ReactiveFormModule什麼提供該模塊相較於FormModule。
Formsmodule
- Angular 1通過着名的ng-model指令處理表單。 Angular 2現在提供了一個名爲ngModel的相同機制,它允許我們構建現在稱爲模板驅動的表單。
與AngularJs不同,ngModel和其他窗體相關的指令默認情況下不可用。
ReactiveFormsModule
適用於模型驅動的表單。每個表單都有一個狀態,可以通過許多不同的交互進行更新,並且由應用程序開發人員來管理狀態並防止它被損壞。這對於非常大的表單很難做到,並且會引入一類潛在的錯誤。
您可以在html中編寫驗證的地方。在這種情況下,您可以附加許多驗證和換行表單。
我從這裏得到了這個。有更好的explanation:
根據我的經驗,主要區別在於ReactiveFormsModule
可以通過實例化類來單元測試表單驗證邏輯,在表單中添加一些值並運行測試。
由於您需要部署應用程序並使用瀏覽器對其進行測試(或Phantomjs
),所以它更復雜一點。
還有一個區別:ReactiveFormsModule有一些類提供了一個允許使用Functional Reactive Programming來構建UI的API。
我想澄清Oto Lolua的答案。他們對ReactiveFormsModule的解釋是從它們鏈接的文章的錯誤上下文中提取出來的(Oto對ReactiveFormsModule的解釋性段落實際上是參考該文章中的FormsModule而不是ReactiveFormsModule)。
我引用在這裏同一篇文章中(從它的摘要):
模板驅動的形式可能是簡單的形式略少羅嗦,但差異不顯著。 Reactive Forms實際上功能更強大,並具有幾乎相同的可讀性。
最有可能在大規模應用程序中,我們最終需要被動驅動表單的功能來實現更高級的用例,例如自動保存。
Formsmodule - Angular 1通過着名的ng-model指令處理表單。 Angular 2現在提供了一個名爲ngModel的相同機制,它允許我們構建現在稱爲模板驅動的表單。
與AngularJs不同,ngModel和其他窗體相關的指令默認情況下不可用。
ReactiveFormsModule適用於模型驅動的表單。每個表單都有一個狀態,可以通過許多不同的交互進行更新,並且由應用程序開發人員來管理狀態並防止它被損壞。這對於非常大的表單很難做到,並且會引入一類潛在的錯誤。
您可以在html中編寫驗證的地方。在這種情況下,您可以附加許多驗證和換行表單。
這是在這個帖子上公認的答案。 – Mahesh