长话短说,我想在路由器输出旁边显示一个侧栏,具体取决于渲染的组件,我看起来像这样的东西:
<div class="content-wrapper clearfix" [class.show-sidebar]='showSidebar'>
<div class="router-wrapper">
<router-outlet></router-outlet>
</div>
<div class="sidebar-wrapper">
<sidebar></sidebar>
</div>
</div>
因此,基本上某些组件需要使侧边栏消失,我不确定最清洁的方法是什么,我的第一个想法是我可以将课程绑定到可以注入任何需要的组件中的服务中的字段隐藏/显示侧边栏它可以工作,但对我来说似乎不对...
您可以使用路由器出口事件
<router-outlet (activate)="onActivate($event)"></router-outlet>
,然后在包含路由器outlet的组件中实现on Activate方法:
public onActivate(event : any) {
console.log(event); // here you get hold of all the component and now you can make a variable true false and use ngif or hidden to show or hide the navbar
}