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>
相关推荐
GISer_Jing1 天前
Three.JS渲染架构解读
java·javascript·架构
发现一只大呆瓜1 天前
超全 Vite 性能优化指南:网络、资源、预渲染三维落地方案
前端·面试·vite
IT_陈寒1 天前
Vue的computed属性怎么突然不更新了?
前端·人工智能·后端
时寒的笔记1 天前
day13~14核心案例某采招网
开发语言·javascript·ecmascript
智商不够_熬夜来凑1 天前
【Picker】单选多选
前端·javascript·vue.js
米饭不加菜1 天前
Typora 原生流程图语法完全指南(Flowchart.js)
前端·javascript·流程图
scan7241 天前
langgraphy条件边
前端·javascript·html
冰小忆1 天前
类变量在继承场景下的初始化规则是怎样的?
java·前端·数据库
用户938515635071 天前
《JS 对象知识地图:10 个小节,从字面量到原型链全覆盖》
javascript
YAwu111 天前
JavaScript this 底层机制剖析
前端·javascript