2016-08-25 6 views
34

Czytałem o nowym interfejsie API Formular Angular2 i wydaje się, że istnieją dwa podejścia do formularzy, jeden to formularze oparte na szablonach, inne to formy reaktywne lub oparte na modelach.Jakie są praktyczne różnice między formularzami opartymi na szablonach i formami reaktywnymi?

Chciałbym poznać praktyczną różnicę między tymi dwoma, a nie różnicę w składni (oczywiście), ale praktyczne zastosowania i które podnoszą korzyści bardziej w różnych scenariuszach. Czy w wyborze jednego z nich występuje także wzrost wydajności? A jeśli tak, dlaczego?

+2

Inną kwestią do rozważenia jest forma bierna jest synchroniczna i Szablon napędzany forma jest asynchroniczne. Obie formy mają swoje słabości i silne strony. Zanim wybierzesz formularz, który ma być używany w aplikacji, należy wziąć pod uwagę kilka rzeczy. złożoność aplikacji itp. Możesz również użyć obu formularzy w aplikacji. –

Odpowiedz

47

opartych na szablonach formularzy Funkcje

  • Łatwe w użyciu
  • Nadaje się do prostych scenariuszy i kończy się niepowodzeniem w przypadku złożonych scenariuszy
  • Podobne do angularjs
  • wiążące
  • dwukierunkowej transmisji danych (za pomocą [(NgModel)] składni)
  • Minimal kod komponentu
  • Automatyczne ścieżki formularza i jego danych (obsługiwane przez kątowa)
  • Testowanie jednostkowe jest kolejnym wyzwaniem

Funkcje reaktywne Funkcje

  • Bardziej elastyczny, ale wymaga dużo praktyki
  • Uchwyty żadnych skomplikowanych scenariuszy wiązaniami
  • Brak danych odbywa się (niezmienny model danych preferowane przez większość programistów)
  • Więcej kod komponentu i mniej HTML markup
  • reaktywnej przemiany może być możliwe takie jak
    • Handling zdarzenia na podstawie czasu czasową
    • obsługi zdarzeń, gdy składniki są odrębne, aż zmieniła
    • dodawanie elementów dynamicznie
  • Łatwiejsze testowanie jednostkowe
10

myślę, że its dyskusję o kod, strategia doświadczenie i użytkownik.

Podsumowując możemy zmienić za szablonu napędzany podejścia, które jest łatwiej pracować z nim, aby biernej (w podejściu modelowego) za danie nam więcej kontroli, co skutkuje lepszym testowalna forma, wykorzystująca oddzielenie między modułem HTML (zespół projektowy/CSS może pracować tutaj) a regułami biznesowymi komponentu (specjalista ds. kątowych/js) i na poprawiają wrażenia użytkownika dzięki funkcjom, takim jak transformacje bierne, korelacje walidacyjne i kompleksowe scenariusze obsługi jako reguły sprawdzania poprawności środowiska wykonawczego i duplikacji dynamicznych pól tację.

Ten artykuł jest dobrym wzmianka o nim: Angular 2 Forms - Template Driven and Model Driven Approaches

Powiązane problemy