Дизайн приложения с использованием 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, вы хотите проверить это.