My AppComponent ma dekorator @RouteConfig definiujący trasy najwyższego poziomu:Jak nawigować z komponentu potomnego do tras wyższego poziomu za pomocą macierzy paramerów łącza w angleular2?
@RouteConfig([
{
path: '/',
name: 'Home',
component: HomeComponent
},
{
path: '/about',
name: 'About',
component: AboutComponent
},
{
path: '/profile/...',
name: 'Profile',
component: ProfileComponent
}
])
export class AppComponent {
}
Moja ProfileComponent ma dekorator @RouteConfig definiujący trasy Profil podrzędne:
@RouteConfig([
{path: '/', component: ProfileDetailsComponent, name: 'View', useAsDefault: true},
{path: '/:id', component: ProfileDetailsComponent, name: 'Public'},
{path: '/edit', component: ProfileEditorComponent, name: 'Edit'},
])
export class ProfileComponent {
}
Kiedy jestem w środku ProfileDetailsComponent Mogę wykonywać przekierowania do innych tras profilu, ale nie do innych. Chcę uniknąć podawania adresu URL za pomocą navigateByUrl
i zamiast tego używać nazw tras, używając navigate
. Np:
this.router.navigate(['View']); // Works
this.router.navigate(['About']); // Raises error that it does not exist
czytam tę odpowiedź tutaj: Angular 2 - How to navigate to another route using this.router.parent.navigate('/about')
Wykorzystuje:
this.router.parent.navigate(['About']);
Który rodzaj ok, ale rozwiązuje mój problem tylko wtedy, gdy wiem, że w momencie zgłoszenia gdzie przekierowanie powinien iść. Mam wiele poziomów zagnieżdżania i ustalam trasę docelową w czasie wykonywania. Szukam sposobu na zrobienie czegoś w stylu:
this.router.navigate(['Level1', 'Level2', 'Level3']);
Co pozwala mi śledzić gdzieś w pełni kwalifikowaną nazwę trasy docelowej. Czy jest to możliwe w jakikolwiek sposób?
Podobnie jak pomysł, wydaje się schludny i generycznych, jak chciałem. Wypróbuję to po pracy i wrócę z uwagą! – fips
To chyba dobry moment na uaktualnienie do nowego routera, jeśli korzystasz z wersji Release Angular 2, ponieważ rzeczy takie jak nazwy tras są teraz przestarzałe. – Dan
Awesome to działało świetnie na wszystkich poziomach składników macierzystych/potomnych. Dziękuję Ci! – fips