У меня есть вторичная розетка, которая работает правильно по ссылке:
<a [routerLink]="[{outlets:{childoutlet:['childpath']}}]">Test</a>
, где таблица маршрутов выглядит следующим образом:
const routes: Routes = [
{
path: '**',
component: ParentComponent,
},
{
path: 'childpath',
component: ChildComponent,
outlet: 'childoutlet'
}
];
Я хотел бы иметь возможность указать розетка [routerLink] и путь к вторичной розетке, используя свойства компонента как таковые:
export class AppComponent implements OnInit{
constructor(private router: Router) {}
myoutlet: string;
mypath: string;
myrouterlink: string;
ngOnInit() {
this.myoutlet = 'childoutlet';
this.mypath = 'childpath';
this.myrouterlink = '[{outlets:{' + this.myoutlet + ':[' + this.mypath + ']}}]';
}
}
Я пробовал следующее:
<a [routerLink]="[myrouterlink]">Test</a>
<!-- Results in the urlencoding of the resultant link directive
'%5B%7Boutlets:%7Bchildoutlet:%5Bchildpath%5D%7D%7D%5D' -->
<a [routerLink]="[{outlets:{childoutlet:[mypath]}}]">Test</a>
<!-- Works with 'mypath' substitution to 'childpath' -->
<a [routerLink]="[{outlets:{myoutlet:['childpath']}}]">Test</a>
<!-- Does NOT work with 'myoutlet' substitution to 'childoutlet' -->
And various other...
Как встраивать свойства компонента в routerLink ?
Как вы можете запретить routerLink обрабатывать myrouterlink как строку и правильно ее анализировать? Спасибо.