Reputation: 315
Simply put is something like this possible ?
[routerLink]="['page1','page2',{ outlets: { myoutlet: ['page3','page4'] } }]"
How would a route config look like ? With lazy loading if possible.
Edit:
ok, so it looks like the above case isn't possible. So i have rearrange my routes to something like this ....
const mainRoutes: Routes = [
{
path: 'main',
component: MainIndexComponent,
children: [
{
path: 'page1',
component: Page1Component,
outlet: 'mynamed'
},
{
path: 'page2',
component: Page2Component,
outlet: 'mynamed'
},
{
path: 'form',
children: [
{
path: 'first',
component: FirstFormComponent,
}
]
},
{
path: 'home',
component: HomeComponent,
}
]
},
];
Now i would like to view Page1Component in 'mynamed' outlet and HomeComponent. How would a routerLink look like ?
I tried :
[routerLink]="['guide','main','form', 'first', {outlets: {mynamed: ['page1']}} ]"
but no luck
Edit 2 (my solution):
[routerLink]="['guide','main','form', 'first' ]"
This opens the page in unnamed outlet ...
[routerLink]="['guide','main',{outlets: {mynamed: ['page1']}} ]"
This opens the page in mynamed outlet without affecting the main outlet
Upvotes: 0
Views: 608
Reputation: 5436
You can define a route in your app-routing.module.ts
:
{ path: '%urlName%', component: %ComponentName%, outlet: '%routerOutletName%' }
Then in your template you can use:
[routerLink]="['page1', 'page2', {outlets: {%routerOutletName%: ['%urlName%']}}]
And in your .ts
file you can use to navigate to the route:
this.router.navigate(['page1', 'page2', { outlets: { %routerOutletName%: ['%urlName%'] } }]);
Upvotes: 1