זוכרים איך באנגולר היינו מושכים מודול שלם, הוא היה מושך את הראוטים הנוספים ועוד הרבה רכיבים, אבל המשיכה הייתה רק כאשר המשתמש גולש לניתוב ספציפי.
באנגולר גירסה 18 הסיפור קצת שונה, כל הרכיבים הם standalone , אין לנו מודולים, שום דבר לא נמשך אוטומטית אלא רק שצריך אותו.
אז בוא נראה איך אנחנו מוסיפים ניתוב בתוך ניתוב קיים
אז אנחנו יודעים שיש לנו ניתוב (router-outlet) בתוך app.component ואנחנו רוצים להוסיף בדף ראשי, ניתוב לתת-דף.
<div class="personal-area">
<app-header></app-header>
<main class="main">
<router-outlet></router-outlet>
</main>
<app-footer></app-footer>
</div>@Component({
selector: 'app-personal-area',
standalone: true,
imports: [RouterOutlet,HeaderComponent,FooterComponent],
templateUrl: './personal-area.component.html',
styleUrl: './personal-area.component.scss'
})אין כאן משהו חדש, יש לנו דף, בדף יש 2 רכיבים נוספים ואת router-outlet.
כאן נראה איך יראה הנתב שלנו
import { Routes } from '@angular/router';
export const routes: Routes = [
{
path: '', loadComponent: () => import('./pages/home/home.component').then(p => p.HomeComponent)
},
{
path: 'personal', loadComponent: () => import('./pages/personal-area/personal-area.component').then(p => p.PersonalAreaComponent), children: [
{ path: 'main-data', loadComponent: () => import('./pages/sub-pages/main-data/main-data.component').then(s => s.MainDataComponent) },
{ path: 'more-info', loadComponent: () => import('./pages/sub-pages/more-info/more-info.component').then(s => s.MoreInfoComponent) }
]
},
{
path: '**', pathMatch: 'full', loadComponent: () => import('./pages/no-route/no-route.component').then(p => p.noRouteComponent)
}
];
אפשר לראות שיש מספר ניתובים:
- דף בית – נטען רק כאשר גולשים אליו
- דף אישי – גם הוא נטען רק בגלישה אליו, הוא מכיל את router-outlet, ומעדכן שיש לו 2 ניתובים. גם הרכיבים האלו יטענו רק כאשר הגולש ידרוש אותם.
- ניתוב אחרון עבור כל שאר הניתובים שלא קיימים בפרויקט.
ניתוב עבור main-data יראה כך ב-URL
https://myDomain.co.il/personal/main-data
זה הכל, קצר וקולע 🎯 , בהצלחה.





!!!!!!!wonderful