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>
相关推荐
意法半导体STM3210 小时前
【官方原创】STM32H7双核芯片通过 STlink连接失败问题分析 LAT1654
开发语言·前端·javascript·stm32·单片机·嵌入式硬件
小王C语言10 小时前
【基础IO】————简单设计一下libc库
前端·数据结构·算法
雨雨雨雨雨别下啦10 小时前
Vue3——RabbitShopping
前端·javascript·vue.js
BumBle10 小时前
从声明式到命令式:Vue3 弹窗组件的工厂模式重构
前端
恋猫de小郭10 小时前
你的蓝牙设备可能正在泄漏你的隐私? Bluehood 如何追踪附近设备并做隐私分析
android·前端·ios
取名不易11 小时前
vue-drawer-board 简单的画图功能
前端
学习指针路上的小学渣11 小时前
JavaScript笔记
前端·javascript
取名不易11 小时前
在 nuxtjs中通过fabric.js实现画图功能
前端
冰珊孤雪11 小时前
Android Studio Panda革命性升级:内存诊断、构建标准化与AI调试全解析
android·前端
coder_Eight11 小时前
彻底吃透 Promise:从状态、链式到手写实现,再到 async/await 底层原理
javascript·面试