2016-06-21 2 views
3

В ngOnInit моего главного компонента я получаю некоторые глобальные настройки:Угловые 2 загрузки данных до визуализации АРР,

ngOnInit() { 
    this._service1.initGlobalData() 
    this._service2.initGlobalData2() 
} 

эти 2 вызова инициализации _service1 и _service2, которые затем используются в нескольких различных местах в моем приложении. Я хотел был бы быть уверен, что эти 2 вызова выполняются перед началом рендеринга моего приложения.

Есть ли какой-либо конкретный способ сделать это в Angular 2?

Единственное решение, которое приходит мне на ум, заключается в том, чтобы установить счетчик на основе обещаний, полученных этими двумя вызовами init.

+0

Просто, чтобы добавить к ответу Нгуен: Вы также можете найти на сайте: HTTP: //stackoverflow.com/questions/37611549/how-to-pass-parameters-rendered-from-backend-to-angular2-bootstrap-method –

+0

https://stackoverflow.com/questions/41619443/how-to-call- ан-отдых-апи-то время-самонастройки-угловой-2-приложение – rmcsharry

ответ

3

Ответ не очень популярен, но я думаю, что самый простой способ просто обернуть ваш шаблон *ngIf="data", тогда шаблон будет отображаться только после того, как data присвоит значение.

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

2

Обычно мы используем ngIf для отображения содержимого, когда оно будет готово. Что-то вроде:

<div *ngIf="_service1"> 
    // content for _service1 
</div> 
<div *ngIf="_service2"> 
    // content for _service2 
</div> 

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