什么时候销毁注入到对话框中的服务?
When gets a service destroyed that was injected into a dialog?
我编写了一个服务并将其注入到我的对话框中。我希望在关闭对话框时调用服务的 ngOnDestroy() 函数。但事实并非如此。
所以我想知道 ngOnDestroy() 什么时候会被解雇?
如果我希望在对话框关闭时终止我的服务订阅,我该如何取消订阅?
这是 stackblitz 示例:https://stackblitz.com/edit/angular-bf1taz
由于您在 "services" 数组中的 app.module.ts 中提供了服务,因此您的服务将是所有组件的全局实例。这是经常需要的,因为您经常使用 Service 在组件之间存储和通信数据,并且不希望在使用它的组件被销毁时丢失这些数据。
如果您希望拥有不同的服务实例(请谨慎使用),您需要限制您的提供商。
参考 the docs 了解信息。
如果你想重置你的服务,你可以在你的服务中有类似重置功能的东西,它会在你之后手动清理并在你的对话框中调用 onClose。
我编写了一个服务并将其注入到我的对话框中。我希望在关闭对话框时调用服务的 ngOnDestroy() 函数。但事实并非如此。
所以我想知道 ngOnDestroy() 什么时候会被解雇?
如果我希望在对话框关闭时终止我的服务订阅,我该如何取消订阅?
这是 stackblitz 示例:https://stackblitz.com/edit/angular-bf1taz
由于您在 "services" 数组中的 app.module.ts 中提供了服务,因此您的服务将是所有组件的全局实例。这是经常需要的,因为您经常使用 Service 在组件之间存储和通信数据,并且不希望在使用它的组件被销毁时丢失这些数据。
如果您希望拥有不同的服务实例(请谨慎使用),您需要限制您的提供商。
参考 the docs 了解信息。
如果你想重置你的服务,你可以在你的服务中有类似重置功能的东西,它会在你之后手动清理并在你的对话框中调用 onClose。