Benim sorum, AngularJS uygulamasında şablonların ( kısmi olarak da adlandırılır ) karmaşık iç içe geçmesiyle nasıl başa çıkılacağını içerir .
Durumumu tarif etmenin en iyi yolu, oluşturduğum bir görüntü ile:
Gördüğünüz gibi, bu çok sayıda iç içe model ile oldukça karmaşık bir uygulama olma potansiyeline sahiptir.
Uygulama tek sayfadır, bu nedenle DOM'dang-view
özniteliğe sahip bir div öğesi içeren bir index.html yükler .
Daire 1 için , ilgili şablonları yükleyen Birincil gezinme olduğunu görürsünüz ng-view
. Bunu $routeParams
ana uygulama modülüne geçerek yapıyorum . İşte benim app ne bir örnek:
angular.module('myApp', []).
config(['$routeProvider', function($routeProvider) {
$routeProvider.
when("/job/:jobId/zones/:zoneId", { controller: JobDetailController, templateUrl: 'assets/job_list_app/templates/zone_edit.html' }).
when("/job/:jobId/initial_inspection", { controller: JobDetailController, templateUrl: 'assets/job_list_app/templates/initial_inspection.html' }).
when("/job/:jobId/zones/:zoneId/rooms/:roomId", { controller: JobDetailController, templateUrl: 'assets/job_list_app/templates/room_edit.html' })
}]);
Daire 2'de , içine yüklenen şablonun ng-view
ek bir alt gezinmesi vardır . Bu alt nav daha sonra altındaki alana şablonlar yüklemesi gerekir - ama ng-view zaten kullanıldığından, bunu nasıl yapacağımdan emin değilim.
İlk şablonun içine ek şablonlar ekleyebileceğimi biliyorum, ancak bu şablonların hepsi oldukça karmaşık olacak. Uygulamanın güncellenmesini kolaylaştırmak ve alt öğelerine erişmek için yüklenecek ana şablona bağımlı olmamak için tüm şablonları ayrı tutmak istiyorum.
Daire 3'te , işlerin daha da karmaşıklaştığını görebilirsiniz. Alt gezinme şablonlarının , kendi şablonlarını da daire 4'teki alana yüklemesi gereken 2. bir alt gezinme özelliğine sahip olma potansiyeli vardır.
Bir AngularJS uygulamasını, şablonların bu kadar karmaşık iç içe yerleştirilmesiyle başa çıkacak ve hepsini birbirinden ayrı tutacak şekilde nasıl yapılandırılır?