我的Angular应用程序中有这段代码,可以在桌面上正常工作。但是,由于某种原因,它无法正常工作。
我正在iPhone的google chrome应用程序上对此进行测试。我似乎找不到任何有关chrome应用程序是否支持ngOnDestroy的文档。这是我的代码:
ngOnDestroy() {
this.chatService.leaveChat('User left');
}
@HostListener('window:beforeunload')
doSomething() {
this.ngOnDestroy();
}
任何帮助将不胜感激。
答案 0 :(得分:0)
ngOnDestroy
是生命周期挂钩,它并不意味着必须手动触发。它在组件被销毁时运行。它不需要使用浏览器进行任何操作。
您可能希望将ngOnDestroy
中存在的所有内容包装到另一个函数中,并在ngOnDestroy
和window.beforeunload
上都调用该函数。
例如
ngOnDestroy() {
this.onDestroy()
}
@HostListener('window:beforeunload')
onDestroy() {
this.chatService.leaveChat('User left');
}