2023.02.23 - 为什么vue 页面刷新不会调用destroyed钩子?

destroyed()只会在页面被删除后由vue实例调用,而浏览器的【刷新功能立刻刷新页面】,并重新加载JS等其他文件。

而刷新前的Vue因为浏览器立刻刷新的缘故,所有操作都没来的及做就【立马就被垃圾回收机制释放了根本就不会走销毁流程】。

需要在浏览器刷新时调用除destroyed()以外的函数,可以尝试使用beforeunload事件来执行相应操作:

 window.addEventListener('beforeunload', function(e) {
   // do something meaningful
 });
posted @ 2023-02-23 22:19  吕业浩  阅读(670)  评论(0编辑  收藏  举报