2016-09-12 2 views
4

У меня есть приложение angular2 RC6, и мне нужно отложить загрузку страниц до тех пор, пока не будет выполнена какая-либо функциональность.Angular2 - Как отложить первоначальную нагрузку до завершения обслуживания?

У меня есть служба, которая определяет URI для webApi. Мне нужно приложение, чтобы дождаться, пока этот URL не будет определен, прежде чем он попытается загрузить любые данные. Если я скрою основное приложение в app.component, с помощью * ngIf, я получаю ошибки маршрутизации, потому что выход маршрутизатора не существует.

Перед RC5/6 я вручную загрузил приложение после получения запроса URI.

+1

Трудно сказать, не видя сотрудничества de, но вы можете попытаться использовать Observable или Promise в своей службе, а затем дождаться завершения. – rook

+0

Но я не могу загрузиться после завершения. В RC6 вы добавляете бутстрап в NgModule, и я не знаю, как сделать его условным. –

+0

Почему вы хотите отложить загрузку всей страницы (шаблонов)? Вы просто не ожидаете данных от API? – C14L

ответ

3

Если вы используете маршрутизатор, вы можете использовать canActivate, canActivateChild.

Смотрите также

Для загрузки раз до инициализации приложения вы можете использовать APP_INITIALIZER как объяснено в How to pass parameters rendered from backend to angular2 bootstrap method

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