Angular открывается модальное диалоговое окно материала, но как обрабатывать URL маршрутизации - PullRequest
0 голосов
/ 12 января 2020

В родительском компоненте я открываю диалоговое окно Материал, нажимая такую ​​кнопку:

<form [formGroup]="form" (submit)="onSaveExam()" *ngIf="!isLoading">
...
<mat-form-field>
...
        <button
          color="accent"
          aria-label="Add sth"
          title="Add sth"
          alt="Add sth"
          style="float: right"
          routerLink=""
          (click)="openMyCreateDialog()"          
        >

И когда я нажимаю на нее, URL-адрес в браузере меняется на (в моем приложении это маршрут по умолчанию, я думаю), поэтому, когда я отменяю модальный режим (закрываю его), он не возвращается к «родительской странице» - той, с которой я вызывал модальный режим, но переходит на маршрут по умолчанию.

Имеет ли значение, если мой модал имеет также форма?

Как мне открыть ее, чтобы после того, как, например, нажав клавишу ES C, я go вернулся на родительскую страницу, а не по умолчанию?

1 Ответ

0 голосов
/ 12 января 2020

Измените свой routerLink, как показано ниже. Так, когда вы нажимаете кнопку, маршрут браузера будет таким же, как маршрут вашей родительской страницы.

......

          style="float: right"
          routerLink="parentpageroute"
          (click)="openMyCreateDialog()"          
        >

Когда вы закрываете модель, добавьте функцию, чтобы закрыть кнопку, как показано ниже .

<button type="button" class="close" aria-label="Close" (click)="goToParent()">

В своем файле .ts вы можете определить функцию следующим образом.

goToParent(){
this._route.navigate(['parentpageroute'];
}
...