【vue+ts】性能优化,defer优化白屏

代码:

javascript 复制代码
import {ref} from 'vue'

export function useDefer(maxCount = 100) {
    const count = ref(0)
    let raqId:any = null;
    function updateFrame() {
        count.value++
        if (count.value >= maxCount) {
            return;
        }
        raqId = requestAnimationFrame(updateFrame)
    }
    updateFrame();
    onUnmounted(() => {
        cancelAnimationFrame(raqId)
    })
    return function (n:number) {
        return count.value >= n
    }
}

用法:

html 复制代码
<template>
    <IndexBbsRotationcArea :homeData="homeData" v-if="defer(1)" />
    <IndexBbsRecommendArea v-if="defer(2)" />
    <IndexBbsRecommendArea v-if="defer(3)" />
    <IndexBbsRecommendArea v-if="defer(4)" />
    <IndexBbsRecommendArea v-if="defer(5)" />
</template>

<script setup lang="ts">
    import { useDefer } from "~/utils/defer";
    const defer = useDefer();
</script>
相关推荐
古一|4 分钟前
vue3都有哪些升级相比vue2-核心响应式系统重构
javascript·vue.js·重构
HHHHHY6 分钟前
http接口响应头类型不对,导致svg图片无法预览,前端解决方案
前端·javascript
Komorebi゛15 分钟前
【React】配置别名路径
前端·react.js·前端框架
风语者日志18 分钟前
CTFSHOW WEB 3
前端
元亓亓亓31 分钟前
考研408--组成原理--day1
开发语言·javascript·考研·计组
普通码农38 分钟前
uni.setClipboardData在 iOS 剪贴板复制失败解决方案
前端
_孤傲_40 分钟前
webpack实现常用plugin
前端·webpack·node.js
golang学习记1 小时前
从0死磕全栈之Next.js 字体优化实战:零布局偏移、高性能、隐私友好的字体加载方案
前端
zachhere1 小时前
深入了解 OpenAI Apps SDK 的内部机制
前端