2016-05-09 3 views
0

Мы создаем приложение AngularJS. Теперь я создаю публичную форму, которая настраивается в зависимости от загружаемого URL.Настройка содержимого страницы в зависимости от результата запроса GET

Например

http://url.com.au/Registration.cshtml#?org=org1 

будет выглядеть несколько иначе, чем

http://url.com.au/Registration.cshtml#?org=org2 

При загрузке страницы я хотел бы загрузить некоторые данные с GET http://url.com.au/api/Org/org1 и использовать ответ на диск некоторых элементов пользовательского интерфейса.

Сначала различия будут небольшими (URL для логотипа, значения из некоторых флажков), но со временем форма может быть более динамичной.

Что такое шаблон я должен следовать, чтобы поддержать:

  1. простые различия,
  2. далее по пути более динамичного Ui?
+0

Возможно, используйте что-то вроде https://docs.angularjs.org/api/ng/directive/ngInclude, чтобы вы могли сохранять изменения на каждой странице org. Страницы, которые вы включили, могут иметь один и тот же шаблон –

ответ

0

Для простого решения я бы сохранил изменение URL-адреса в параметре маршрута для этого маршрута. Затем используйте его, используя $routeParams. Таким образом, вы можете легко изменить свой базовый код GET.

Для простых и динамических пользовательских интерфейсов я попытался бы использовать ngInclude до минимума (меньше файлов для загрузки = лучшее время загрузки, а также создает новую область, которая не всегда идеальна).

Для простых различий я бы структурировал ваш html как подходящий для обоих макетов, насколько это возможно. Подумайте об использовании ng-show/hide для запуска изменений DOM на основе переменных, полученных из запроса GET. Для таких активов, как изображения, запрос GET может вернуть путь к изображению, а затем вы можете использовать ngSrc для его включения.

Далее по пути вы можете захотеть иметь вложенную маршрутизацию. UI-Router - очень популярное решение.

Смежные вопросы