Angular 2:在应用初始化

时间:2017-10-06 07:58:10

标签: html angular

我想展示一个加载器,同时在应用程序初始化期间完成一些逻辑。

我注意到如果我把它放在我的index.html中:

<body>
    <app-root>
        Loading...
    </app-root>
</body>

我会看到Loading...字符串。

但是如果我尝试在里面放一些HTML,就像这样:

<body>
    <app-root>
        <div class="pre-loader">
            <img src="./assets/img/loaders/preloader.svg" />
        </div>
    </app-root>
</body>

初始化过程中删除app-root内的所有标记。

我使用APP_INITIALIZER中的app.module.ts加载了一些配置,这就是为什么我希望在这些承诺完成后展示加载程序的原因。

以下是app.module.ts内的代码:

providers: [
    ...
    { provide: APP_INITIALIZER, useFactory: loadConfigFactory, deps: [AppConfig, UserService], multi: true }
]

export function loadConfigFactory(config: AppConfig, userService: UserService) {
    return () => config.load().then((serverURL) => userService.setCurrentUser(serverURL));
}

初始化正常。所有这些承诺都是在呈现任何其他内容之前完成的。但是在开发人员控制台中,如果我在其中放入一些HTML,那么我的<app-root>是空的(这不是简单字符串的情况)

0 个答案:

没有答案