解析整个应用程序 Angular 2
Resolve Entire Application Angular 2
我有一个应用程序,它有一个带有页眉和页脚的简单主模板,就像这样
<section style="margin-bottom:70px">
<nav-menu></nav-menu>
</section>
<section>
<router-outlet></router-outlet>
</section>
<section>
<foot></foot>
</section>
路由器插座上有解析器来阻止 UI 痛苦,直到 Api 调用完成。这导致 UI 只有页眉和页脚可见,直到 Api 返回。有没有办法解决其他组件?也许像其他组件订阅的共享服务?
有几种方法可以解决这个问题:
1) 您可以使用解析器设置的 loaded
或类似标志构建服务。然后在其他组件上添加一个 *ngIf
以防止它们在设置 loaded
标志之前显示。
2) 构建一个带有单个路由器插座的临时组件。将您当前拥有的代码移动到该临时路由器插座的子路由中。然后你可以在那个子路由上设置解析器。
app.component.html
<router-outlet></router-outlet>
main.component.html
<section style="margin-bottom:70px">
<nav-menu></nav-menu>
</section>
<section>
<router-outlet></router-outlet>
</section>
<section>
<foot></foot>
</section>
路由配置将定义到主要组件的路由,并且会有路由解析器。您当前的路线将是这条路线的子路线。
我有一个应用程序,它有一个带有页眉和页脚的简单主模板,就像这样
<section style="margin-bottom:70px">
<nav-menu></nav-menu>
</section>
<section>
<router-outlet></router-outlet>
</section>
<section>
<foot></foot>
</section>
路由器插座上有解析器来阻止 UI 痛苦,直到 Api 调用完成。这导致 UI 只有页眉和页脚可见,直到 Api 返回。有没有办法解决其他组件?也许像其他组件订阅的共享服务?
有几种方法可以解决这个问题:
1) 您可以使用解析器设置的 loaded
或类似标志构建服务。然后在其他组件上添加一个 *ngIf
以防止它们在设置 loaded
标志之前显示。
2) 构建一个带有单个路由器插座的临时组件。将您当前拥有的代码移动到该临时路由器插座的子路由中。然后你可以在那个子路由上设置解析器。
app.component.html
<router-outlet></router-outlet>
main.component.html
<section style="margin-bottom:70px">
<nav-menu></nav-menu>
</section>
<section>
<router-outlet></router-outlet>
</section>
<section>
<foot></foot>
</section>
路由配置将定义到主要组件的路由,并且会有路由解析器。您当前的路线将是这条路线的子路线。