Câu hỏi của tôi liên quan đến cách xử lý các mẫu lồng nhau phức tạp (còn gọi là partials ) trong ứng dụng AngularJS.
Cách tốt nhất để mô tả tình huống của tôi là với một hình ảnh tôi đã tạo:
Như bạn có thể thấy điều này có tiềm năng trở thành một ứng dụng khá phức tạp với rất nhiều mô hình lồng nhau.
Ứng dụng này là một trang, do đó, nó tải một index.html có chứa phần tử div trong DOM với ng-view
thuộc tính.
Đối với vòng tròn 1 , Bạn thấy rằng có một Điều hướng chính tải các mẫu thích hợp vào ng-view
. Tôi đang làm điều này bằng cách chuyển $routeParams
đến mô-đun ứng dụng chính. Đây là một ví dụ về những gì trong ứng dụng của tôi:
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' })
}]);
Trong vòng tròn 2 , mẫu được tải vào ng-view
có thêm một điều hướng phụ . Điều hướng phụ này sau đó cần tải các mẫu vào khu vực bên dưới nó - nhưng vì ng-view đã được sử dụng, tôi không chắc chắn cách thực hiện việc này.
Tôi biết rằng tôi có thể bao gồm các mẫu bổ sung trong mẫu thứ 1, nhưng tất cả các mẫu này sẽ khá phức tạp. Tôi muốn giữ tất cả các mẫu riêng biệt để làm cho ứng dụng dễ cập nhật hơn và không bị phụ thuộc vào mẫu cha mẹ phải được tải để truy cập vào con của nó.
Trong vòng tròn 3 , bạn có thể thấy mọi thứ thậm chí còn phức tạp hơn. Có khả năng các mẫu điều hướng phụ sẽ có điều hướng phụ thứ 2 sẽ cần tải các mẫu của chính nó vào khu vực trong vòng tròn 4
Làm thế nào một người đi về cấu trúc một ứng dụng AngularJS để đối phó với các mẫu lồng nhau phức tạp như vậy trong khi giữ tất cả chúng tách biệt với nhau?