Javascript 在销毁角5中的组件之前确认退出
我想利用angular的生命周期回调挂钩之一,Javascript 在销毁角5中的组件之前确认退出,javascript,angular,angular5,Javascript,Angular,Angular5,我想利用angular的生命周期回调挂钩之一,ngondestry,通过观察应用程序发生的有趣状态(例如,当用户有未保存的更改时),防止angular破坏我的组件。由于使用对话框询问用户是否确定其操作是一种习惯,因此我当前的实现如下所示: @Component({ selector: 'admin-edit-product-form' // ... }) export class AdminEditProductFormComponent implements OnInit, OnD
ngondestry
,通过观察应用程序发生的有趣状态(例如,当用户有未保存的更改时),防止angular破坏我的组件。由于使用对话框询问用户是否确定其操作是一种习惯,因此我当前的实现如下所示:
@Component({
selector: 'admin-edit-product-form'
// ...
})
export class AdminEditProductFormComponent implements OnInit, OnDestroy {
// here goes my form
productForm: FormGroup;
// ...
constructor(
private fb: FormBuilder,
private mDiagService: ModalDialogService) {}
ngInit() {
// initialize fb
productForm = fb.group(/*initialization*/)
}
ngOnDestroy() {
// HOW DO I BLOCK Angular at this stage in a Subscriber?
if (this.productForm.dirty) {
this.mDialogService.confirm({
title: 'You have unsaved changes',
content: 'Any unsaved changes will be permenently lost. Sure you want to exit?',
btnOkText: 'Exit',
btnCancelText: 'Remain'
}).subscribe(confirmed => {
if (!confirmed) {
// HOW DO I DO IT HERE?
}
})
}
}
}
这可能不是唯一的办法。如果有什么建议的话。求你了,我很期待
提前谢谢 在路由器中使用CanDeactivate防护。在路由器中使用CanDeactivate防护。