Javascript-форум (https://javascript.ru/forum/)
-   ExtJS (https://javascript.ru/forum/extjs/)
-   -   вопрос по MVC - как подключать компоненты динаически? (https://javascript.ru/forum/extjs/47491-vopros-po-mvc-kak-podklyuchat-komponenty-dinaicheski.html)

valer_1 26.05.2014 15:05

вопрос по MVC - как подключать компоненты динаически?
 
Ситуация в общих чертах такая:
Есть страница, на ней несколько панелей. Допустим одна панель есть постоянно, а 2 другие могут появляться в зависимости от какой-то логики на стороне сервера.
На каждой из этих панелей свои элементы управления со своей клиентской логикой.
Как правильно это сделать в виде MVC-приложения? Приходят на ум 3 варианта:
1) Сделать одно приложение в котором перечислить все контроллеры, виды и модели для всех трёх панелей. Тут настораживает избыточность - зачем загружать контроллеры которые в большинстве случаев использоваться не будут?
2) Сделать 3 приложения, каждое в отдельном .js-файле. Сервер при формировании страницы на свое усмотрение подключит необходимые приложения. Это нормально что на одной странице параллельно работают 3 разных приложения?
3) как-то динамически добавлять в приложение необходиые контроллеры и виды в зависимости от AJAX-ответа сервера. Такое возожно? Нигде не встречал примеров где контроллер добавлялся бы "на лету".

Направьте пожалуйста новичка на путь истинный....
Заранее благодарен.

novikov 27.05.2014 15:22

Первый вариант лучше.

Постепенная загрузка контроллеров используется только в режиме разработки. Множество обращений к серверу может быть в этом случае причиной долгой загрузки приложения. В режиме "продуктива" приложение собирают в один файл, который минимизирован, грузится один раз и кэшируется браузером. Лишняя дюжина контроллеров никак не отразится на скорости загрузки в этом случае.

Другие варианты нужно рассматривать только для очень больших приложений, по-моему.

Makarov 27.05.2014 15:58

+1 к Новикову, у нас делается именно так


Часовой пояс GMT +3, время: 08:45.