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>
相关推荐
远山无期12 小时前
解决Tailwind任意值滥用:规范化CSS开发体验
前端·css·eslint
用户542778485154012 小时前
Vue 3 中开发高阶组件(HOC)与 Renderless 组件
前端
幼儿园老大12 小时前
告别代码屎山!UniApp + Vue3 自动化规范:ESLint 9+ 扁平化配置全指南
javascript·vue.js
HIT_Weston12 小时前
67、【Ubuntu】【Hugo】搭建私人博客(一)
前端·ubuntu·hugo
阿里巴啦13 小时前
用React+Three.js 做 3D Web版搭建三维交互场景:模型的可视化摆放与轻量交互
前端·react·three.js·模型可视化·web三维·web三维交互场景
daols8813 小时前
vue 甘特图 vxe-gantt table 连接线的用法详解
vue.js·甘特图·vxe-table
Liu.77413 小时前
vue3组件之间传输数据
前端·javascript·vue.js
|晴 天|13 小时前
前端闭包:从概念到实战,解锁JavaScript高级技能
开发语言·前端·javascript
开发者小天13 小时前
react的拖拽组件库dnd-kit
前端·react.js·前端框架
用户44455436542613 小时前
在Android开发中阅读源码的指导思路
前端