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>
相关推荐
CHANG_THE_WORLD8 分钟前
模拟解析:宽度数组 `[1,2,1]`,10个条目的 XRef 流
java·前端·算法
禅思院13 分钟前
探索Vite深入 Rollup 分块插件:从零实现一个智能分包工具
前端·前端框架·vite
xinzheng新政16 分钟前
Javascript·深入学习基础知识2
开发语言·javascript·学习
咕噜签名-铁蛋23 分钟前
腾讯云ICP备案:变更主体&备案准备
前端·云计算·腾讯云
小码哥_常25 分钟前
解锁Android黑科技:动态加载Activity,让你的App秒变变形金刚
前端
筱璦29 分钟前
期货软件开发 - 策略编辑
前端·区块链·交易·期货
奔跑的呱呱牛1 小时前
前端/Node.js操作Excel实战:使用@giszhc/xlsx(导入+导出全流程)
前端·node.js·excel·xlsx·sheetjs
之歆1 小时前
Composition API 深度解析 - 重新理解 Vue 的组件化编程
前端·javascript·vue.js
Cxiaomu1 小时前
React Native 双端一体工程,如何实现分端运行与分端打包?
javascript·react native·react.js
踩着两条虫1 小时前
从一行代码到一个生态:VTJ.PRO的创作之路
前端·低代码·ai编程