创建期间的生命周期函数:

运行期间的生命周期函数:

销毁期间的生命周期函数:

注意:

mounted: function () {
  let _beforeUnload_time = 0, _unload_time = 0
  // 窗口关闭或刷新时候的操作
  window.addEventListener('beforeunload', (event) => {
      _beforeUnload_time = new Date().getTime()
      // Cancel the event as stated by the standard
      // event.preventDefault();
      // Chrome requires returnValue to be set.
      // event.returnValue = '';
  });

  window.addEventListener('unload', (event) => {
      _unload_time = new Date().getTime()
      console.log(_unload_time - _beforeUnload_time)
      // 关闭页面通常小于100毫秒
      if (_unload_time - _beforeUnload_time <= 100) {
          //业务代码
          this.stopUsing()
      }
	});
}

// 然在对应的业务代码地方用自己的函数即可,原理是刷新页面与关闭页面时两个事件的事件间隔不一样,关闭页面通常小于100ms
// 另外需注意上方有四行注释的代码,如果不注释,就会在关闭和刷新的时候提醒用户是否关闭,而用户的选择时间也会算进去,影响我们两个事件的事件间隔判断,因此注释掉。

// 页面加载时只执行onload
// 页面关闭时先执行onbeforeunload,最后onunload
// 页面刷新时先执行onbeforeunload,然后onunload,最后onload