我遇到Google Chrome (newest)
下的奇怪情况 - 我导航到我的ng2驱动的网络应用程序中的列表,将浏览器折叠到任务栏,5分钟后(或左右) ,控制台显示第一次启动组件时显示的消息,所以:
public ngOnInit(): void {
console.log("INIT CALLED");
}
所以看起来Chrome
正在查杀我的应用程序,然后它会被复活并显示此INIT CALLED
消息。让我失望的是ngOnDestroy
挂钩在ngOnInit
第二次被调用之前没有被调用。对我来说看起来像ng2中的一个错误,但是有没有人经历过这个并且可以和我分享修复?
答案 0 :(得分:0)
ngOnDestroy
仅当Angular删除组件时才会调用ngOnDestroy
。
当标签关闭时,Angular没有机会做任何事情。 有关如何在浏览器选项卡关闭时调用代码,请参阅How can we detect when user closes browser?。