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>
相关推荐
丷丩8 小时前
MapLibre GL JS第47课:添加动画图标
javascript·gis·动画·mapbox·maplibre
独泪了无痕8 小时前
Vue3中防御XSS攻击的“特效药”-DOMPurify
前端·vue.js·安全
小小19928 小时前
idea 配置less转化为css
前端·css·less
hhb_6188 小时前
Less嵌套避坑:优先级冲突实战解析
前端·css·less
快乐的哈士奇8 小时前
【Next.js实战①】Gmail API 按柜号检索邮件:OAuth 双 Cookie 与搜索 Fallback
开发语言·javascript·ecmascript
云水一下8 小时前
Vue.js从零到精通系列(五):全局状态管理——Pinia 核心与实践
前端·javascript·vue.js
我不是外星人8 小时前
浅谈我对 AI 发展的看法
前端·ai编程·claude
kmblack19 小时前
javascript计算年龄
开发语言·javascript·ecmascript
老马聊技术9 小时前
AI对话功能之SpringBoot整合Vue3
vue.js·人工智能·spring boot·后端
甲维斯9 小时前
测一波Kimi K2.7,消耗一周配额!
前端·人工智能·游戏开发