canActivate 守卫中未显示对话框
Dialog not shown in canActivate guard
试图用 primeng 显示对话框,但弹出窗口从未显示。控制台也没有错误...
import { Injectable } from '@angular/core';
import { CanActivate } from '@angular/router';
import { ConfirmationService } from 'primeng/api';
import { Observable } from 'rxjs';
@Injectable()
export class TestGuard implements CanActivate {
constructor(private confirmationService: ConfirmationService) { }
canActivate(): Observable<boolean> | Promise<boolean> | boolean {
const promise = new Promise<boolean>((resolve, reject) => {
this.confirmationService.confirm({
message: 'Are you sure you want to continue?',
accept: () => {
resolve(true);
},
reject: () =>{
reject(false);
}
});
});
return promise;
}
}
尝试在您的应用程序组件中添加 <p-confirmDialog header="Confirmation" icon="pi pi-exclamation-triangle"></p-confirmDialog>
并确保您已导入 ConfirmDialogModule 并提供 ConfirmationService
试图用 primeng 显示对话框,但弹出窗口从未显示。控制台也没有错误...
import { Injectable } from '@angular/core';
import { CanActivate } from '@angular/router';
import { ConfirmationService } from 'primeng/api';
import { Observable } from 'rxjs';
@Injectable()
export class TestGuard implements CanActivate {
constructor(private confirmationService: ConfirmationService) { }
canActivate(): Observable<boolean> | Promise<boolean> | boolean {
const promise = new Promise<boolean>((resolve, reject) => {
this.confirmationService.confirm({
message: 'Are you sure you want to continue?',
accept: () => {
resolve(true);
},
reject: () =>{
reject(false);
}
});
});
return promise;
}
}
尝试在您的应用程序组件中添加 <p-confirmDialog header="Confirmation" icon="pi pi-exclamation-triangle"></p-confirmDialog>
并确保您已导入 ConfirmDialogModule 并提供 ConfirmationService