Детски рутови во Angular
Може да се случи дека во компонентата која веќе се користи во рутирањето, исто така има детски компоненти. Може да се направи така што овие детски компоненти исто така ќе се прикажуваат преку рутирање.
За пример нека имаме компонента Aaaa.
Ние пристапуваме кон неа преку URL /aaaa/.
Да создадеме уште две детски компоненти: Chix
и Chiy. Ќе ги прикажуваме внатре
во претставата на компонентата Aaaa.
Aaaa ќе има свој таг
router-outlet, во кој во зависност
од URL-то ќе се прикажува или едната,
или другата детска компонента.
Значи, да ја имплементираме опишаната работа.
Да ја создадеме првата детска компонента:
ng generate component chix
Да ја создадеме втората детска компонента:
ng generate component chiy
Да напишеме одделни детски рутови:
let childRoutes: Routes = [
{ path: 'chix', component: ChixComponent },
{ path: 'chiy', component: ChiyComponent },
];
Да ги додадеме на рутот на компонентата Aaaa
како деца:
const appRoutes: Routes = [
{
path: 'aaaa',
component: AaaaComponent,
children: childRoutes
},
];
Патот од рутот на родителската компонента
ќе биде почеток на патот на детската. Ова значи
дека детските компоненти ќе бидат достапни на
следните URL-а: /aaaa/chix и
/aaaa/chiy.
Ајде сега да ја конфигурираме компонентата Aaaa.
Да го импортираме тагот за рутирање:
import { RouterOutlet } from '@angular/router';
Да го запишеме во декораторот:
@Component({
......
imports: [RouterOutlet],
......
})
Да го вметнеме тагот во претставата:
<p>it works</p>
<router-outlet></router-outlet>
Сега ќе може да се пристапува кон детските компоненти преку нивните URL-а и овие компоненти ќе се прикажуваат. Пробајте!
Имплементирајте ја опишаната работа на детските компоненти.
Направете линкови, при клик на кои ќе се менуваат детските компоненти.