Дизайн приложения с использованием Angular js

Работала над созданием огромного приложения с помощью angular js. Вы видели слишком много вопросов по одной и той же теме о том, как наилучшим образом мы можем разработать приложение, но все равно смущаемся.

Основное приложение обычно имеет

1) Страница входа/страница указателя

2) Домашняя страница - с верхними и нижними колонтитулами. Тело - это partial/composite, которое продолжает меняться.

так как у нас нет дескриптора для загрузки нескольких ng-представлений, что является наилучшим способом структурирования страницы Главная таким образом, что у нас есть один единственный HomePage контейнер с верхними и нижними колонтитулами, а Body загружается динамически через $route.

В настоящее время я разработал его с помощью единственного LoginContainerPage, который загружает страницу Войти и домашних страниц через $routers, но так как разрешено только одно ng-представление, я не могу используйте другую ng-view на странице Главная, чтобы снова динамизировать тело. Я также не хочу использовать ng-include.

Еще один способ сохранить LoginPage вне $route и начать маршрутизацию с HomePage, чтобы тело загружалось динамически.

Требуется проверить, есть ли какие-нибудь лучшие идеи.

Спасибо заранее!

Ответ 1

Хорошо в проекте, над которым я работаю с angularjs, я использовал такой подход: У меня заголовок, который был основной навигационной системой, я сделал контроллер для того, что обрабатывал навигационную систему и знал о том, где я сейчас. У меня был ngView, который загружал мое основное содержимое на основе маршрутов, но иногда мне нужны разные шаблоны для загрузки и компиляции базы на какое-либо событие, например, загруженные вкладки ajax. я реализовал эти типы вещей, используя ngInclude, что основной контроллер на представлении должен был выбрать шаблон и включить его, я считаю, что нет необходимости в нескольких ngViews, вы можете просто использовать области для реализации разных вещей и обрабатывать разные части вашего приложение с различными контроллерами и данными. я предполагаю, что лучшая идея для вас - сделать вашу страницу входа отдельной. Я сделал это в своем проекте. моя страница входа была единственной не-Ajax-страницей, которую я имел.

изменить: для части авторизации, если вы хотите реализовать аутентификацию через angular, вы хотите проверить это.