Ich habe eine Routing-StrukturKind Weg Render erst nach Eltern-Route gemacht
path: '',
component: MainComponent,
children: [
{path: 'employees', component: EmployeesComponent, canActivate: [AuthGuard], children: [
{path: '', component: EmployeeListComponent, pathMatch: 'full', canActivate: [AuthGuard]},
{path: ':id', component: EmployeeMainComponent, pathMatch: 'full', canActivate: [AuthGuard]}
]}
]
}
In Hauptkomponente ngOnInit I Submodule Liste
getSubmodules(id) {
this.universityAsideService.getSubmodules(id)
.subscribe((subModules) => {
this.subModules = subModules;
this.saveSubModules(subModules).subscribe((data) => this.goToModule(id));
console.log('submodules in getSubmodules, UniversityAside Co');
console.log(this.subModules);
});
}
saveSubModules(subModules): Observable<any> {
return Observable.create((obs) => {
obs.next(localStorage.setItem('subModules', JSON.stringify({
subModules: subModules
})));
});
}
Dann Emloyees Komponentenliste erhalten Submodule von localstorage und dann Ansicht rendert . Bu das Problem beim Besuch localhost:4200/#/employees/
Dann versucht Mitarbeiter-Komponente, Submodule aus dem lokalen Speicher vor MainComponent in lokalen Speicher zu speichern. Wie kann ich dieses Problem lösen? Vielen Dank.
Thanks.So was kann ich in AuthGuard schreiben, dass auf acheive? Ich habe keine Ahnung. In AuthGuard überprüfe ich nur, ob der Benutzer signiert ist oder nicht. –
überprüfen Sie Ihre MainComponent in lokalen Speicher gespeichert oder nicht –
können Sie implementieren wie getModule (ID) und verwenden Sie –