Я создал модал, используя MatDialog.Этот модальный режим можно открыть с моей панели инструментов.
В модальном режиме у меня есть страница с вкладками для входа и регистрации.Это отдельные компоненты, загружаемые через маршрутизацию.
Теперь я хочу закрыть модальное окно и перенаправить пользователя на другую страницу, если он или она нажмет кнопку внутри модального окна.Ссылка обновляется, но мой контент не отображается!
navbar-> модальный <-> LoginComponent / RegistrationComponent (ссылка здесь должна закрывать модальные и перенаправлять)
RegistrationComponent.ts: (в модале)
registerBuisnessClicked() {
this.dialogRef.close('signup');
}
navbar.ts:
dialogRef.afterClosed().subscribe(result => {
if (result === 'signup') {
console.log('redirecting to signup');
this.router.navigate(['/signup']);
}
});
Для тестирования я создал еще одну панель инструментовэлемент в моей панели навигации, который напрямую направляет меня в мою регистрацию, и это работает!
user() {
this.router.navigate(['/signup']);
}
Внутри моего модального я имею следующий код:
modal.html
<nav mat-tab-nav-bar mat-align-tabs="center">
<a mat-tab-link
(click)="switchToLogin()"
[active]="rla1">
Login
</a>
<a mat-tab-link
(click)="switchToRegister()"
[active]="rla2">
Register
</a>
</nav>
modal.ts
constructor(private router: Router) { }
ngOnInit() {
this.router.navigate(['/login']);
this.rla1 = true;
this.rla2 = false;
}
switchToRegister() {
this.router.navigate(['/signup'], { replaceUrl: true });
this.rla1 = false;
this.rla2 = true;
}
switchToLogin() {
this.router.navigate(['/login'], { replaceUrl: true });
this.rla1 = true;
this.rla2 = false;
}
Спасибо, Якоб