Pertanyaan saya melibatkan bagaimana untuk pergi tentang berurusan dengan bersarang kompleks template (juga disebut parsial ) dalam aplikasi AngularJS.
Cara terbaik untuk menggambarkan situasi saya adalah dengan gambar yang saya buat:
Seperti yang Anda lihat ini berpotensi menjadi aplikasi yang cukup kompleks dengan banyak model bersarang.
Aplikasi ini satu halaman, sehingga memuat index.html yang berisi elemen div di DOM dengan ng-view
atribut.
Untuk lingkaran 1 , Anda melihat bahwa ada navigasi Utama yang memuat templat yang sesuai ke dalam ng-view
. Saya melakukan ini dengan meneruskan $routeParams
ke modul aplikasi utama. Berikut ini contoh apa yang ada di aplikasi saya:
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' })
}]);
Di lingkaran 2 , templat yang dimuat ke dalam ng-view
memiliki sub-navigasi tambahan . Sub-nav ini kemudian perlu memuat template ke area di bawahnya - tetapi karena ng-view sudah digunakan, saya tidak yakin bagaimana cara melakukan hal ini.
Saya tahu bahwa saya dapat menyertakan templat tambahan dalam templat pertama, tetapi templat ini semuanya akan menjadi sangat kompleks. Saya ingin menyimpan semua templat terpisah agar aplikasi lebih mudah diperbarui dan tidak memiliki ketergantungan pada templat induk yang harus dimuat untuk mengakses anak-anaknya.
Di lingkaran 3 , Anda dapat melihat berbagai hal semakin kompleks. Ada kemungkinan bahwa template sub-navigasi akan memiliki sub-navigasi ke-2 yang perlu memuat template-nya sendiri juga ke area dalam lingkaran 4
Bagaimana cara seseorang menyusun struktur aplikasi AngularJS untuk menangani templat templat yang begitu rumit sambil tetap memisahkannya satu sama lain?