vue3使用defer优化项目白屏加载时间

defer.ts

javascript 复制代码
import { ref } from 'vue'

export function useDefer() {
  const frameCount = ref(1)
  function updateFrameCount() {
    requestAnimationFrame(() => {
      frameCount.value++
      updateFrameCount()
    })
  }
  updateFrameCount()
  return function (n: any) {
    return frameCount.value >= n
  }
}

在.vue文件中使用,按帧数加载组件

javascript 复制代码
<template>
	<div>
		<Header v-if="defer(1)"></Header>
		<Main v-if="defer(2)"></Main>
		<Footer v-if="defer(3)"></Footer>
	</div>
</template>
<script>
	import { useDefer } from '@/utils/defer'
	const defer = useDefer()
</script>
相关推荐
web守墓人9 小时前
【linux】Mubuntu v1.0.11更新日志
linux·前端
遇见你...12 小时前
TypeScript
前端·javascript·typescript
Highcharts.js13 小时前
Highcharts Grid 中文站正式上线:表格数据处理的全新选择
前端·javascript·数据库·表格数据·highcharts·可视化图表·企业级图表
阿正的梦工坊16 小时前
JavaScript 微任务与宏任务完全指南
开发语言·javascript·ecmascript
懂懂tty16 小时前
CRA 迁移 Rspack(实战)
前端·架构
小码哥_常17 小时前
Kotlin 助力 Android 启动“大提速”
前端
GreenTea17 小时前
AI 时代,工程师的不可替代性在哪里
前端·人工智能·后端
Jagger_18 小时前
能不能别再弄低代码害人了
前端
朦胧之18 小时前
AI 编程开发思维
前端·后端·ai编程
踩着两条虫18 小时前
VTJ:快速开始
前端·低代码·架构