בכל פעם שיש לנו תפריט אנחנו יכולים לשים מתחתיו את ה-router-outlet שמתאים לו כדי להציג את התוכן של הקומפוננטות.
לפעמים אנחנו רוצים מקומות שונים כדי להציג קומפוננטות בקפליקציה. אנחנו יכולים לתת שם לrouter-outlet ולכוון את הכתובות שיגיעו ל-outlet שאנחנו רוצים.
<router-outlet name="outlet1"></router-outlet>
ה-router-outlet בלי שם יהיה העיקרי והשאר יהיו משניים.
נניח שיש לנו עמוד אודות. אנחנו רוצים להציג באותו העמוד גם את המפה שמובילה אל העסק וגם קומפוננטה של חוות דעת מהלקוחות.
החלקים של העמוד יהיו:
/about About Component
/location <router-outlet name="map"></router-outlet>
/feedback <router-outlet name="feeds"></router-outlet>
הקישור לעמוד יראה משהו כזה:
/about/(map: location//feeds: feedback)
בעמוד יהיה לנו:
about.component.html
<div>
About page content
</div>
<div class="row">
<div class="col">
<router-outlet name="map"></router-outlet>
</div>
<div class="col">
<router-outlet name="feeds"></router-outlet>
</div>
</div>
עכשיו נגדיר את ה-routes שילכו למקום הנכון.
app-routing-module.js
const routes: Routes = [
...
{path: 'about', component: AboutComponent,
children: [
{path: 'location', outlet: 'map', component: LocationComponent},
{path: 'feddback', outlet: 'feeds', component: FeedbackConponent}
]},
...
]
החלק האחרון הוא ליצור את הקישור לעמוד. את ה-routerLink אנחנו הופכים להיות דינמי ומכניסים אותו ל-[].
app.component.html
<a [routerLink]="['/about', {
outlet: {
'map': ['location'],
'feeds': ['feedback']
}
}]">About Page</a>