2016-09-22 82 views

回答

10

Formsmodule - Angular 1通過着名的ng-model指令處理表單。 Angular 2現在提供了一個名爲ngModel的相同機制,它允許我們構建現在稱爲模板驅動的表單。

與AngularJs不同,ngModel和其他窗體相關的指令默認情況下不可用。

ReactiveFormsModule適用於模型驅動的表單。每個表單都有一個狀態,可以通過許多不同的交互進行更新,並且由應用程序開發人員來管理狀態並防止它被損壞。這對於非常大的表單很難做到,並且會引入一類潛在的錯誤。

您可以在html中編寫驗證的地方。在這種情況下,您可以附加許多驗證和換行表單。

我從這裏得到了這個。有更好的explanation

3

根據我的經驗,主要區別在於ReactiveFormsModule可以通過實例化類來單元測試表單驗證邏輯,在表單中添加一些值並運行測試。
由於您需要部署應用程序並使用瀏覽器對其進行測試(或Phantomjs),所以它更復雜一點。
還有一個區別:ReactiveFormsModule有一些類提供了一個允許使用Functional Reactive Programming來構建UI的API。

4

我想澄清Oto Lolua的答案。他們對ReactiveFormsModule的解釋是從它們鏈接的文章的錯誤上下文中提取出來的(Oto對ReactiveFormsModule的解釋性段落實際上是參考該文章中的FormsModule而不是ReactiveFormsModule)。

我引用在這裏同一篇文章中(從它的摘要):

模板驅動的形式可能是簡單的形式略少羅嗦,但差異不顯著。 Reactive Forms實際上功能更強大,並具有幾乎相同的可讀性。

最有可能在大規模應用程序中,我們最終需要被動驅動表單的功能來實現更高級的用例,例如自動保存。

-1

Formsmodule - Angular 1通過着名的ng-model指令處理表單。 Angular 2現在提供了一個名爲ngModel的相同機制,它允許我們構建現在稱爲模板驅動的表單。

與AngularJs不同,ngModel和其他窗體相關的指令默認情況下不可用。

ReactiveFormsModule適用於模型驅動的表單。每個表單都有一個狀態,可以通過許多不同的交互進行更新,並且由應用程序開發人員來管理狀態並防止它被損壞。這對於非常大的表單很難做到,並且會引入一類潛在的錯誤。

您可以在html中編寫驗證的地方。在這種情況下,您可以附加許多驗證和換行表單。

+0

這是在這個帖子上公認的答案。 – Mahesh