Kullanıcının (önceden tanımlanmış 100'den fazla widget'tan oluşan bir setten seçim yaparak) widget'ları koyabileceği (sürükle / bırak) ve her widget'in bir dizi veriyi (REST çağrısı kullanılarak getirilen) görüntüleyen özel bir uygulama olduğu karmaşık bir düzene sahip bir uygulamam var belirli bir şekilde. Tonlarca blog yazısı, stackoverflow sorusu ve resmi AngularJS dokümanları okudum, ancak uygulamamı bu gereksinimleri karşılayacak şekilde nasıl tasarlamam gerektiğini çözemiyorum. Demo uygulamalarına baktığımızda, tek bir modül (ng-app) var ve onu .js dosyasında oluştururken, bağımlı modüller bağımlılıkları olarak bildiriliyor, ancak büyük bir widget setim var ve bir şekilde hepsini tanımlamam tavsiye edilmez Orada. Aşağıdaki sorular için öneriye ihtiyacım var:
- Uygulamamı ve widget'ları nasıl tasarlamalıyım - ayrı bir AngularJS modülüne mi sahip olmalıyım yoksa her widget ana modüle yönelik bir yönerge mi olmalı?
- Widget'ımı yönergeler olarak tasarlarsam, bir yönerge içinde bağımlılığı tanımlamanın bir yolu var mı? Yani benim direktifimin uygulanmasında ng-takvim kullandığını söyleyebilir miyim?
- Her widget'ı ayrı bir modül olarak tasarlarsam, widget modülünü dinamik olarak ana modüle bağımlılık olarak eklemenin bir yolu var mı?
- Denetleyicileri nasıl tasarlamalıyım - parçacık başına muhtemelen bir denetleyici?
- Görünümde aynı türden birden fazla widget'ım varsa durumu (kapsamı) nasıl ayırmalıyım?
- AngularJS ile yeniden kullanılabilir pencere öğeleri tasarlamak için en iyi yöntemler var mı?
DÜZENLE
Yararlı referanslar:
- ocLazyLoad - AngularJS için harika bir tembel yükleme kütüphanesi
- Çekirdek proje - modüller + rota değişikliğinde geç yükleme (ES6, systemjs, ocLazyLoad)
- AngularJS'de tembel yükleme
- AngularJS ve RequireJS ile Denetleyicileri ve Görünümleri Dinamik Olarak Yükleme
- Uygulama Önyüklemesinden Sonra RequireJS ile AngularJS Bileşenlerini Yükleme
- GitHub'da AngularJS kaynaklarının geç yüklenmesi hakkında demo projesi
- Talep Üzerine Yükle projesi
- Modülü yalnızca gerekirse dinamik olarak enjekte edin
- Angular makalesinde başka bir tembel yükleme
- Büyük AngularJS ve JavaScript Uygulamalarında Kod Organizasyonu