我知道正常情况是让您的app-root
(根组件)在其中添加工具栏、侧边栏等并<router-outlet>
更改内容。
我的问题是通过 index.html 注入的根组件(app-root),如下所示
<body>
<app-root></app-root>
</body>
不能包含侧边栏、菜单等,因为我希望提供一个不能包含这些半共享组件的登录屏幕(和其他屏幕)。所以现在我的 app-root 包含一个简单的<router-outlet>
,非常适合我的登录和其他不得共享共享内容的页面,即侧边栏、菜单等。
我希望使用辅助/子路线之类的东西,但我并不完全理解它们。一个好的场景是登录屏幕继续按原样工作,它被注入到路由器插座中,但所有其他路由都需要将自己注入路由器插座以及一些共享内容。
<md-sidenav-container class="example-container">
<md-sidenav #sidenav class="example-sidenav">
An example of content in the side bar
</md-sidenav>
<div class="example-sidenav-content">
<!-- All other routes should be injected here -->
</div>
</md-sidenav-container>
我应该在这里做什么?
我当然不想通过复制/粘贴的方式在每个组件中放置侧边栏、菜单。它应该是共享的内容。