routerLink передает данные экземпляра компонента как состояние - PullRequest
0 голосов
/ 10 января 2020

В моем приложении я использую хлебные крошки следующим образом:

 <div class="breadcrumb">

    <a href="javascript:void(0);" class="back" (click)="goBack($event);">Back</a>
    <div class="">
      <h3>{{ pagename.label }}</h3>
      <div *ngFor="let breadcrumb of breadcrumbs" class="bread-link-container texted">
        <a [routerLink]="[breadcrumb.url]">
          {{ breadcrumb.label }}
        </a>
      </div>
    </div>
    <div class="clear"></div>

  </div>

У меня есть компонент A, из которого пользователь может перейти к компоненту B; затем, когда из B вы go возвращаетесь к A, B необходимо отправить данные как state компоненту A. Например:

this.router.navigate(['path-to-A'], {
            state: {
              data: myData
            }
          });

Теперь, когда пользователь возвращается к B-> A, нажимая пользовательскую кнопку BACK, я могу передать состояние, потому что я вручную вызываю router.navigate. Проблема заключается в том, что когда пользователь нажимает на routerLink на хлебной крошке, информация о состоянии не отправляется, и компонент A жалуется на это.
Я видел, что могу отправить state через routerLink, например:

<a [routerLink]="['/user/bob']" [state]="{tracingId: 123}">
  link to user component
</a>

но мне нужно получить имя свойства и значение, которое я хочу передать как состояние от компонента, из которого я перемещаюсь. Как это можно сделать?

...