带有组件+保护装置的角度MatDialog

时间:2018-10-01 11:35:17

标签: angular

我使用MatDialog打开其他组件:

const dialogRef = this.dialog.open(UserSaveComponent, dialogConfig)

是否可以添加canActivate Guard来在打开对话框之前检查用户是否已登录?

UserSaveComponent不会出现在任何路由中,因为仅在对话框中使用。 也许我应该使用其他方法?

更新

目前,我通过在打开对话框之前检查用户是否已获得授权来解决该问题:

if (this.authService.isLoggedIn()) {
    const dialogConfig = ...

    const dialogRef = this.dialog.open(UserSaveComponent, dialogConfig);

    dialogRef.afterClosed().subscribe(user => {
        if (user) {
            this.user = user;
        }
    })
} else {
    this.authService.logout();
}

我正在考虑为打开对话框的方法编写和使用装饰器,而不是使用if / else

0 个答案:

没有答案