在Angular应用中隐藏全局标题的最佳方法

时间:2018-12-09 15:27:34

标签: angular rxjs angular-routing

因此,我想在应用程序中实现全局标头,该应用程序标头应位于<router-outlet>的顶部,在某些页面中,我想修改标头的外观或平整把它藏起来。我在过去曾看到过这种实现,其中有一个HeaderService,然后Header订阅了该服务的一个或多个值,因此其他组件可以调用该服务,还可以设置标志以隐藏该标头,而不隐藏该标头。 / p>

我不喜欢这种方法的原因是,每个页面都必须指定是否要使用页眉(以隐藏场景为例),我想要的是所有页面的默认情况, (显示标题),然后允许其他页面选择不显示标题,而不会影响其他页面。有人知道实现此目标的好方法吗?

1 个答案:

答案 0 :(得分:1)

您可以使用其他路由级别:

[
  {
    path: '',
    component: LayoutWithHeaderComponent
    children: [ <the routes with a header here ]
  },
  {
    path: '',
    component: LayoutWithoutHeaderComponent
    children: [ <the routes without a header here ]
  }
]

这两个布局组件当然在其子路由组件将插入的模板中都有一个<router-outlet>