我的布局由sidenav和路由器插座组成。根据路由器出口,侧面导航显示菜单项。我想导航并将正确的物品放到我的侧面导航中。但是当我使用浏览器中的go baack按钮时,我无法获得上一个项目
我已经将默认项目设置为ngOnInit函数,然后对url进行了一些检查以更改项目。 (这些项目存储在数组中)。我还有一个onClick函数,当单击某项以重定向并更改此sidenav上的项时会调用它
ngOnInit() {
this.href = this.router.url;
console.log('essai: '+this.href);
if (this.href == '/alvin/home'){
var a: Plateforme={id:null,nom:''};
a.id = 1;
a.nom = 'alerte';
var b: Plateforme={id:null,nom:''};
b.id= 2;
b.nom='gestion';
this.menus.push(a);
this.menus.push(b);
}
if (this.href == '/alvin/alerte'){
this.id_support = JSON.parse(localStorage.getItem('currentUser')).id_support;
this.plateformeService.getPlateformeById(JSON.parse(localStorage.getItem('currentUser')).id_support)
.subscribe(menu => {
this.menus.push(menus);
});
}
onClick(menu){
this.shareData.sendClickCall(menu.id, menu.nom); // get the item clicked
this.menus = []; // reset items array
this.resClick = menu.nom;
//console.log('clickres: '+ this.resClick);
if (this.resClick == 'gestion') {
var a: Plateforme = {id:null, nom:''};
var b: Plateforme = {id:null, nom:''};
var c: Plateforme = {id:null, nom:''};
var d: Plateforme = {id:null, nom:''};
var e: Plateforme = {id:null,nom:''};
a.nom = 'Utilisateurs';
b.nom = 'Equipements';
c.nom = 'Scripts';
d.nom = 'Equipes';
e.nom = 'Menus';
this.menus.push(a);
this.menus.push(b);
this.menus.push(c);
this.menus.push(d);
this.menus.push(e);
}else if (this.resClick == 'alerte') {
this.plateformeService.getPlateformeById(JSON.parse(localStorage.getItem('currentUser')).id_support).subscribe( menus =>{
this.menus.push(menus[0]);
console.log(this.menus);
});
} else if (this.resClick == 'Utilisateurs' || this.resClick == 'Equipements' ||this.resClick =='Scripts' || this.resClick =='Equipes'){
this.router.navigate(['alvin/gestion/'+this.resClick])
}
}
为此,我通过单击进行导航。我想要的是当我使用浏览器的“返回”按钮时能够获得以前的物品。现在我有义务 o返回到/ alvin / home,然后重新加载页面以获取默认项,然后使用click进行导航。我希望能够在添加按钮之前先使用返回按钮。我希望我足够清楚。感谢您的帮助