Когда использовать пользовательскую директиву vs ui-view vs ng-include в приложении AngularJS?
Я создаю большое, сложное приложение AngularJS (думаю, ERP-система). Мне трудно решить, когда целесообразно использовать ui-view
, ng-include
или custom directive + templateURL
.
Я приведу несколько конкретных примеров, чтобы дать вам что-то, с чем можно работать.
- Меню навигации, которое используется во всех URL-адресах приложения, но включает в себя комплексное окно поиска автозапуска/раскрывающегося списка AJAX.
- Простой HTML-код, который является одним и тем же во всех URL-адресах приложения
- Области содержимого, расположенные между верхним и нижним колонтитулами.
- Отдельные компоненты, которые расположены внутри области содержимого (например, и форма "Изменить профиль" или панель пользователя)
- Модальные диалоги
Каковы наилучшие методы?
Ответы
Ответ 1
Для любого большого или сложного приложения я бы предложил организовать как можно больше вашего кода в настраиваемые пользовательские директивы, которые можно использовать повторно. Пользовательские директивы позволят вам использовать директивы angular для максимального повторного использования и минимизировать повторяющийся HTML, который существует, когда вы полагаетесь только на встроенные директивы.
Представления пользовательского интерфейса подходят для переключения контроллеров и представлений динамически в зависимости от маршрута. Если у вас есть функциональность приложения, где каждая комбинация представления и контроллера является автономной, то использование ui-view с маршрутами имеет смысл.