2016-08-25 25 views
34

Angular2 yeni Formlar API'sini okudum ve formlar üzerinde iki yaklaşım olduğu görülüyor; biri şablona dayalı formlar, reaktif veya modele dayalı formlar.Şablon odaklı ve reaktif formlar arasındaki pratik farklar nelerdir?

İkisi arasındaki pratik farkı bilmek istiyorum, sözdizimindeki farklılık (açıkçası) değil, pratik kullanımları ve hangi yaklaşımın farklı senaryolarda daha fazla yarar sağladığı. Ayrıca, diğerini seçerken bir performans artışı var mı? Ve eğer evet ise, neden?

+2

başka nokta dikkate Reaktif formu senkron edilir ve Şablon tahrik formu eşzamansızsa:

Bu makale bu konuda iyi bir referanstır. Her iki form da kendi zayıflıklarına ve güçlerine sahiptir. Uygulamanızda hangi formu kullanacağınızı seçmeden önce birkaç şeyi göz önünde bulundurun. uygulama karmaşıklığı vb. Ayrıca uygulamada her iki formu da kullanabilirsiniz. –

cevap

47

Şablon Dayalı Formlar basit senaryolar için

  • Uygun kullanmak

    • Özellikler Kolay ve karmaşık senaryolar için başarısız
    • Benzer Angularjs
    • için
    • İki yönlü veri (Açısal tarafından ele)
    • Minimal bileşen kodu formun
    • Otomatik parça ve verilerini
    • Birim test diğer zorluk

    olduğu ([(NgModel)] sözdizimi kullanarak) bağlama Reaktif formlar

    • Daha esnek, ama ihtiyaçlar Özellikleri Uygulamada
    • bir çok
    • Resim veri
    • fazla bileşen kodu ve daha az bir HTML biçimlendirme
    • Reaktif dönüşümleri örneğin mümkün yapılabilir (iletmenin veri modeli en geliştiricilerin tercih) yapılır bağlanma kompleks senaryolara Kolları
      • bir filtreleme süresi dayanan bir olay işleme
      • ekleme elemanları değiştirilene kadar bileşenleri farklı olan
      • olayları işleme dinamik
    • kolay birim testleri
  • 1

    burada iki ve faydaları/dezavantajları iyi bir tartışma vardır:

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

    +1

    Bu bağlantı soruyu yanıtlayabilirken, cevabın temel kısımlarını buraya eklemek ve referans için bağlantı sağlamak daha iyidir. Bağlantılı sayfa değiştiğinde yalnızca bağlantı yanıtları geçersiz olabilir. - [Yorum Yaz] (/ review/düşük kaliteli yazılar/18962902) – Alexander

    10

    Bunun bir tartışma İt's düşünüyorum yaklaşık kod, strateji ve kullanıcı deneyimi.

    bize daha fazla kontrol verdiği için (model odaklı bir yaklaşımla) reaktif için, daha onunla çalışmak kolaydır şablon odaklı yaklaşım için değiştirmek Özetle

    , bu daha güzel sonuçlanır HTML arasındaki ayrılmanın yararlanarak test edilebilir formu (tasarım/CSS takımı burada çalışabilir) ve bileşenin iş kuralları (açısal/js uzman üyeler) ve için, korelasyon doğrulamaları reaktif dönüşümler gibi özelliklerle kullanıcı deneyimini iyileştirmek ve karmaşık senaryoları ele Çalışma zamanı doğrulama kuralları ve dinamik alanlar duplica olarak siyon. Angular 2 Forms - Template Driven and Model Driven Approaches

    İlgili konular