【发布时间】:2017-01-20 09:41:58
【问题描述】:
我有一个 angular2 RC6 应用程序,我需要推迟加载页面,直到执行某些功能之后。
我有一项服务可以确定 webApi 的 URI。在尝试加载任何数据之前,我需要应用程序等到该 URL 确定。如果我使用 *ngIf 隐藏 app.component 中的主应用程序,则会出现路由错误,因为路由器出口不存在。
在 RC5/6 之前,我在服务获取 URI 后手动引导应用程序。
【问题讨论】:
-
不看代码很难说,但你可以尝试在你的服务中使用 Observable 或 Promise,然后等到它完成。
-
但完成后我无法引导。在 RC6 中,您将引导程序添加到 NgModule,但我不知道如何使其成为有条件的。
-
为什么要延迟加载整个页面(模板)?您不只是在等待来自 API 的数据吗?
-
是的。但是在整个应用程序中都有 API 调用。通过深层 URL 链接,用户可以访问任何页面并使用任何 API。我必须检查所有这些。当它准备好时,我们已经使用引导过程构建了它,我只需要将它移动到 RC6。另外,我不希望我们必须执行其他手动任务来进行任何呼叫。如果我们只是等到它准备好引导它或加载任何页面,它似乎更干净。