我有一个包含一些内容的HeaderComponent
在路线的基础上,我需要[ngSwitch]
一些内容
在家里我想显示一个链接但不是主页,我想在标题上显示更多链接。
如何更新或订阅路由器
我已经完成this._router.subscribe((res) => console.log(res));
但无法获取路线信息......
答案 0 :(得分:0)
您可以提供切换标头状态的服务,并像我一样订阅其更改:
<pre><code>
export class HeaderService {
getOptions () {
return headerOptions;
}
setHeaderOptions(options: any) {
headerOptions.next({
showLogo: options.showLogo,
showLabel: options.showLabel,
label: options.label,
showAuthBtn: options.showAuthBtn,
showCloseBtn: options.showCloseBtn,
showMenuBtn: options.showMenuBtn,
showByTagsBtn: options.showByTagsBtn,
....
});
}
}
</code></pre>
并且每个@Component构造函数都将设置选项:
<pre><code>
headerService.setHeaderOptions({showHeader: true,
showLogo: true,
showLabel: false,
showAuthBtn: true,
showCloseBtn: false,
showMenuBtn: true,
showByTagsBtn: false})
</code></pre>
并且您的HeaderComponent应订阅此更改
<pre><code>
checkOptions() {
this.hederService.getOptions().subscribe((headerOptions: HeaderOptions) => {
this.options = headerOptions;
this.checkAuthorization();
});
}
</code></pre>