我尝试实现侧边栏菜单,该菜单栏将根据子路线更改项目。 即:侧边栏菜单的基本内容是警报和手势。例如,当我单击警报时,我重定向到url / alerte,并且我想更改侧边栏菜单的内容。我已经将代码放入ngInit()函数中。但是页面有任何重新加载,因此代码无法执行(如果我是对的)。当我重新加载页面时,边栏内容随我想要的内容而变化。我在问自己这是否是正确的方法?还是应该尝试将数据从孩子传递给父母?
初始化父组件时,我会对url进行一些检查,以将内容传递给父模板中使用的数组。如果我在'/ alvin / home'上,则传递默认项,当它与其他项不同时,我想请求API来获取数据以显示边栏。
我的侧边栏组件
export class SideNavComponent implements OnInit {
menus : string[]=[];
href: string = '';
constructor(private router: Router, public sideNavService: SideNavService, public plateformeService: PlateformeService) { }
ngOnInit() {
this.href = this.router.url;
console.log('essai: '+this.href);
if (this.href == '/alvin/home'){
this.menus.push('alerte');
this.menus.push('gestion');
}
if (this.href == '/alvin/alerte'){
this.plateformeService.getAll().subscribe(menus => {
for (let m of menus){
this.menus.push(m.nom);
};
});
}
}
}
我想在加载子路线时更改项目。谢谢你的帮助