在呈现应用程序

时间:2016-06-21 14:22:40

标签: typescript angular

在我的主要组件的ngOnInit中,我确实得到了一些全局设置:

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

这两个调用初始化_service1和_service2,然后在我的应用程序的几个不同位置使用。 我想确保在开始渲染我的应用程序之前完成这两个调用。

在Angular 2中有没有具体的方法呢?

我想到的唯一解决方案是根据这两个init调用返回的promise设置一个微调器。

3 个答案:

答案 0 :(得分:4)

答案不是很受欢迎,但我认为用*ngIf="data"包装模板的最简单方法是模板只会在data分配值后才会呈现。

路由器(取决于您正在使用的版本)可能具有生命周期回调,允许延迟添加组件,直到解决了承诺。

答案 1 :(得分:3)

答案 2 :(得分:2)

通常我的团队和我使用ngIf在内容准备好后呈现内容。 例如:

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

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