【问题标题】:Angular 2 load data before rendering the appAngular 2 在渲染应用程序之前加载数据
【发布时间】:2016-06-22 12:48:49
【问题描述】:

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

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

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

在 Angular 2 中有什么具体的方法吗?

我想到的唯一解决方案是根据这两个初始化调用返回的承诺设置一个微调器。

【问题讨论】:

标签: typescript angular


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:
    【解决方案3】:

    通常情况下,我和我的团队会在内容准备就绪时使用 ngIf 来呈现内容。 比如:

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

    【讨论】:

      猜你喜欢
      • 2018-02-08
      • 2019-07-03
      • 1970-01-01
      • 2017-09-01
      • 2019-05-28
      • 2019-08-09
      • 2018-11-29
      • 2023-02-24
      • 1970-01-01
      相关资源
      最近更新 更多