【发布时间】:2020-11-15 18:26:13
【问题描述】:
目前我的应用程序相当简单,只有一个模块,但我希望使用管理仪表板对其进行扩展。从高层次的角度来看,我计划拆分为 2 个模块:一个用于面向客户的站点,一个用于经过验证的惰性管理模块,如下所示: Client and admin module diagram
我不知道应该如何为网站的这两个部分设置页眉和页脚组件。对于一个单模块、单“部分”的网站,通过将它们放在app-component.html 中,很容易在应用程序中拥有统一的页眉和页脚,如下所示:
<app-header></app-header>
<router-outlet></router-outlet>
<app-footer></app-footer>
我的问题是,当我在管理部分时,我想要一个 不同 的页眉和页脚组件,而不是在“主”站点时。
到目前为止,我一直在考虑这些想法:
-
从
auth-service中获取isLoggedIn布尔值,以根据站点部分改变页眉和页脚内容。- 这是相当直截了当的,但感觉就像是一个 hack,并且暴露了我更愿意放在身份验证保护后面的代码。
-
在应用的每个“视图”组件中,手动放入
app-header和app-footer组件。- 同样,这感觉像是一种 hack,而且会很乏味,但我的应用实际上只有 5-10 个单独的视图页面,因此可以管理。
-
使用 3 个路由模块:
main-router、client-router和admin-router。主路由器将在app-client-component和app-admin-component之间进行定向,每个的模板内容基本上都是上述app-component.html,但路由器将分别是客户端和管理路由器。- 这感觉像是最好的长期解决方案,但我觉得应该有一个更简单的解决方案。
如果有人以前遇到过这个问题,或者对我应该如何构建这个问题有任何见解,我们将不胜感激!
【问题讨论】:
标签: angular angular-routing angular-module