Angular router.navigate не работает в MatDialog - PullRequest
0 голосов
/ 01 октября 2018

У меня есть NewCategoryComponent, который имеет форму для получения подробностей и WarningComponent, который будет отображаться, когда пользователь закрывает форму.

При нажатии на значок закрытия (x) пользователь получит предупреждение ( Mat Dialog), " Вы уверены, что хотите закрыть? ".Затем пользователь должен перейти к предыдущему маршруту.

Если мой текущий маршрут category/101/newCategory, он должен перейти к category/101.Я реализовал this.router.navigate(['../'], { relativeTo: this.activatedRoute });.

Задача

Если я сохраню this.router.navigate(['../'], { relativeTo: this.activatedRoute }); в компоненте WarningComponent, он перейдет в / (корневое) местоположение.В NewCategoryComponent он работает отлично.

Код

NewCategoryComponent

// new-category.component.html
<button mat-icon-button class="cancelBtn" (click)="showWarning()">
    <mat-icon>close</mat-icon>
</button>


// new-category.component.ts
showWarning(): void {
    this.matDialog.open(WarningComponent);

    // going to localhost:4200/category/101
    // this.router.navigate(['../'], { relativeTo: this.activatedRoute }); // working
}

Компонент предупреждения

// warning.component.html
<button mat-raised-button class="wrnBtn stayBtn" (click)="stay()">
    <span>Stay</span>
</button>
<button mat-raised-button class="wrnBtn closeBtn" (click)="close()">
    <span>Close</span>
</button>

// warning.component.ts
constructor(
    public warningDialog: MatDialogRef<WarningComponent>,
    private router: Router,
    private activatedRoute: ActivatedRoute
  ) { }
  
close() {
    this.warningDialog.close();
    this.router.navigate(['../'], { relativeTo: this.activatedRoute }); // not working properly
}
stay() {
    this.warningDialog.close();
}

1 Ответ

0 голосов
/ 02 октября 2018

Если вы хотите пойти по этому маршруту "категория / 101" из этой "категории / 101 / новая категория".затем выполните следующее: this.router.navigate (['/ category / 101']);при условии, что категория не имеет родительского маршрута.Дайте мне знать, если это работает ..

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...