Динамическая маршрутизация на основе внешних данных

Я работаю над приложением, которому необходимо настроить маршруты на основе какого-либо внешнего источника данных. Жизненный цикл приложения выглядит следующим образом:

ng2 inits с приложениемПриложение содержит заголовок, маршрутизатор-выход и нижний колонтитулмаршрут по умолчанию настроен на homeComponentУ homeComponent есть категорииListComponentcategoryListComponent вызывает метод get из categoryServiceCategoriesService возвращает список категорий из APICategoriesComponent отображает список и внедряет новые маршруты для каждой категории обратно в приложение через RoutesConfigurator.

На самом деле есть еще один уровень абстракции с routService, но в этом примере он не нужен

Эта часть работает, так как мы начали с домашней страницы, был выполнен вызов API и созданrouterConfigs для каждой категории. Поэтому, когда пользователь нажимает на категорию, маршрут уже настроен с правильнымcategoryComponent + metadata и им показывают правильную информацию.

Однако, если к конкретной странице категории обращаются напрямую, ng2 не имеетrouterConfig для этого маршрута еще, поскольку вызов API ничего не дал, не говоря уже о том, чтобы сработал. Ng2 просто отображает базовое приложение с заголовком, нижним колонтитулом и пустым маршрутизатором-выходом.

Единственное решение, которое я могу придумать, это довольно "хакерский". Сохраните кэшированный файл json на сервере приложений и загрузите его в исходный html, а затем вставьте его в службу в загрузочном каталоге ng2 / init. Таким образом, маршруты настраиваются еще до того, как ng2 создаст страницу.

Я прошу любые другие возможные предложения, возможно, кто-то с немного большим опытом работы с ng2, в который я могу вступить. Может быть, это уже решено, и я просто недостаточно усовершенствовал свое google-fu.

Заранее спасибо.

Ответы на вопрос(2)

Ваш ответ на вопрос