我有一个界面,用于防止用户离开页面
export interface ComponentCanDeactivate {
canDeactivate: () => boolean;
}
@Injectable()
export class PendingChangesGuard implements CanDeactivate<ComponentCanDeactivate> {
canDeactivate(component: ComponentCanDeactivate): boolean {
return component.canDeactivate() ?
//code : //more code
}
}
在我的一个组件中,我有以下代码。
export class DashboardComponent implements ComponentCanDeactivate{
@HostListener('window:beforeunload')
canDeactivate(): boolean {
return !this.isDirty;
}
我的问题是,我的组件 -> (组件:ComponentCanDeactivate) 在PendingChangesGuard中总是为空,所以我会得到一个错误,显示无法调用null的canDeactivate()。
我在我的路由设置中也有这个设置。
path: 'dashboard',
canDeactivate: [PendingChangesGuard],
loadChildren: './views/dashboard/dashboard.module#DashboardModule'
有人可以告诉我我做错了什么吗?
(这段文字是关于IT技术的)