每当加载特定的 url 时,我都会尝试打开 mat-dialog。目前,它仅在您重新加载整页时才有效。我希望它在加载此特定角度路由时启动 mat-dialog,无论它是完整页面加载还是已加载使用角度路由器的角度应用程序。我试过把下面的代码放进去ngOnInit()
,也试过里面ngAfterViewInit()
但同样的问题。我尝试的另一件事是在获取 userIsAuthenticated 值后立即将其放入构造函数中,但同样的问题。我很感激任何帮助!
ngAfterViewInit() {
if (!this.userIsAuthenticated) {
const dialogRef = this.dialog.open(ConfirmationAgeComponent, {
panelClass: "dialogBoxStyler"
});
dialogRef
.afterClosed()
.pipe(takeUntil(this.destroy))
.subscribe(result => {
if (result) {
this.over21Agreed = true;
}
});
}
}
我还尝试将以下内容添加到构造函数中:
constructor(private router: Router){
this.url = this.router.url;
if (this.url === '/' || this.url.includes('search-results')) {
alert("HERE")
}
}
但警报只在第一次弹出。如果我单击地址栏中的 url 以突出显示 url 并按 enter,则不会出现警报。