2017-07-18 90 views
0

我有一个头和页脚一个简单的主模板的应用程序,像这样解决整个应用程序角2

<section style="margin-bottom:70px"> 
    <nav-menu></nav-menu> 
</section> 
<section> 
    <router-outlet></router-outlet> 
</section> 
<section> 
    <foot></foot> 
</section> 

路由器出口上有解析器从paining直到API调用停止UI做完了。这导致UI只有页眉可见,直到Api返回。是否有办法解决其他组件?也许像其他组件订阅的共享服务一样?

回答

1

有几种方法可以解决这个:

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> 

路线配置将定义一个路由至主成分和将有路由解析器。您当前的路线将是此路线的子路线。

+0

谢谢Deborah,第二个选项看起来更优雅。实施将是什么样子? –