Angular 2-是在刷新时调用ngOnDestroy,还是在导航离开组件时调用ngOnDestroy?
我试图弄清楚Angular 2中的Ngondestory是在刷新时运行的,还是在有人离开页面时运行的?在刷新时,还是在您离开当前页面时,将不会调用Angular 2-是在刷新时调用ngOnDestroy,还是在导航离开组件时调用ngOnDestroy?,angular,Angular,我试图弄清楚Angular 2中的Ngondestory是在刷新时运行的,还是在有人离开页面时运行的?在刷新时,还是在您离开当前页面时,将不会调用Ngondestory。应用程序将被浏览器销毁 只有当Angular2因为您移开或对动态创建的组件调用destroy()而从DOM中移除组件时,才会调用ngondstroy() 如果需要在应用程序被浏览器破坏之前执行某些操作,您可以在卸载前收听,和自己收听卸载 另见 (角度) 你可以做一件事,它就像一个符咒。 创建测试保护并应用于组件 使用Beha
Ngondestory
。应用程序将被浏览器销毁
只有当Angular2因为您移开或对动态创建的组件调用destroy()
而从DOM中移除组件时,才会调用ngondstroy()
如果需要在应用程序被浏览器破坏之前执行某些操作,您可以在卸载前收听,
和自己收听卸载
另见
- (角度)
你可以做一件事,它就像一个符咒。
创建测试保护并应用于组件
使用BehavioralSubject创建服务。无论何时进入你的组件,警卫都会检查并在警卫中初始化你的主题,当它被初始化时,它会检查它是否在某个地方被订阅。在ngOnInit中的组件中,订阅此主题,并从中调用销毁方法。浏览器关闭时组件是否会被销毁?@Ritesh否,仅当Angular本身将其销毁时,并且当浏览器关闭时,它将不再有时间。也请看是的,我确实验证了这种行为。谢谢。@GünterZöchbauer你说的“因为你搬走了”是什么意思?它与“导航离开当前页面”有何不同。@GünterZöchbauer,我导航到某个/xyz路径,该路径使用Ngondestory加载组件。当我手动将浏览器url更改为根路径(“/”)时,不会调用Ngondestory。