Tôi có một ứng dụng có bố cục phức tạp, nơi người dùng có thể đặt (kéo / thả) tiện ích con (bằng cách chọn từ một tập hợp hơn 100 tiện ích con được xác định trước) trong đó mọi tiện ích con là một triển khai tùy chỉnh hiển thị một tập hợp dữ liệu (được tìm nạp bằng lệnh gọi REST) theo một cách cụ thể. Tôi đã đọc rất nhiều bài đăng trên blog, câu hỏi về stackoverflow và tài liệu AngularJS chính thức nhưng tôi không thể tìm ra cách tôi nên thiết kế ứng dụng của mình để xử lý các yêu cầu đó. Nhìn vào các ứng dụng demo, có một mô-đun duy nhất (ng-app) và khi xây dựng nó trong tệp .js, các mô-đun phụ thuộc được khai báo là phụ thuộc của nó, tuy nhiên, tôi có một bộ lớn các tiện ích và bằng cách nào đó, không nên mô tả tất cả chúng ở đó. Tôi cần gợi ý cho những câu hỏi sau:
- Tôi nên thiết kế ứng dụng và tiện ích của mình như thế nào - tôi nên có một mô-đun AngularJS riêng biệt hay mỗi tiện ích phải là một chỉ thị cho mô-đun chính?
- Nếu tôi thiết kế widget của mình dưới dạng chỉ thị, có cách nào để xác định sự phụ thuộc trong một chỉ thị không. Tức là chỉ thị của tôi sử dụng ng-calender trong việc triển khai nó?
- Nếu tôi thiết kế mỗi tiện ích con dưới dạng một mô-đun riêng biệt, có cách nào để thêm động mô-đun tiện ích con làm phụ thuộc vào mô-đun chính không?
- Tôi nên thiết kế bộ điều khiển như thế nào - có lẽ một bộ điều khiển cho mỗi widget?
- Làm cách nào để tách trạng thái (phạm vi) nếu tôi có nhiều tiện ích con từ cùng một loại trong chế độ xem?
- Có những phương pháp hay nhất để thiết kế các widget có thể tái sử dụng với AngularJS không?
BIÊN TẬP
Tham khảo hữu ích:
- ocLazyLoad - lib tải lười biếng tuyệt vời cho AngularJS
- Dự án hạt giống - mô-đun + tải chậm khi thay đổi tuyến đường (ES6, systemjs, ocLazyLoad)
- Tải chậm trong AngularJS
- Bộ điều khiển và Chế độ xem đang tải động với AngularJS và RequestJS
- Tải các thành phần AngularJS với RequestJS sau khi khởi động ứng dụng
- Demo dự án về việc tải chậm tài nguyên AngularJS trên GitHub
- Tải theo yêu cầu dự án
- Chỉ tiêm động mô-đun nếu được yêu cầu
- Một lười tải khác trong bài viết Angular
- Tổ chức mã trong các ứng dụng AngularJS và JavaScript lớn