Angular 9 Как указать вторичный выход, используя свойства компонента - PullRequest
0 голосов
/ 21 апреля 2020

У меня есть вторичная розетка, которая работает правильно по ссылке:

<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 как строку и правильно ее анализировать? Спасибо.

...