Angular 角度:在不使用根组件的情况下为大多数页面(路由器)添加侧栏?
我知道正常的做法是让你的Angular 角度:在不使用根组件的情况下为大多数页面(路由器)添加侧栏?,angular,angular2-routing,router-outlet,Angular,Angular2 Routing,Router Outlet,我知道正常的做法是让你的应用程序根目录(根目录组件)添加工具栏、侧栏等,并使用更改内容 我的问题是我的根组件(approot),它是通过index.html注入的,就像这样 <body> <app-root></app-root> </body> 无法包含边栏、菜单等,因为我希望提供一个登录屏幕(和其他屏幕),其中不得包含这些半共享组件。因此,现在我的应用程序根目录包含一个简单的,它非常适合我的登录和其他不能共享共享内容的页面,如侧边栏、
应用程序根目录
(根目录组件)添加工具栏、侧栏等,并使用
更改内容
我的问题是我的根组件(approot),它是通过index.html注入的,就像这样
<body>
<app-root></app-root>
</body>
无法包含边栏、菜单等,因为我希望提供一个登录屏幕(和其他屏幕),其中不得包含这些半共享组件。因此,现在我的应用程序根目录包含一个简单的
,它非常适合我的登录和其他不能共享共享内容的页面,如侧边栏、菜单等
我希望使用一些辅助/儿童路线,但我不完全理解它们。一个好的场景是,登录屏幕继续按原样工作,它被注入路由器出口,但所有其他路由都需要将自己以及一些共享内容注入路由器出口
<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>
侧栏中的内容示例
我在这里该怎么办
我当然不想通过复制/粘贴的方式在每个组件中放置边栏和菜单。应该是共享内容。我建议:
<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>
为什么不在登录完成之前一直打开侧边栏?这是我正在使用的应用程序上的内容: