【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>
相关推荐
闲坐含香咀翠12 分钟前
百万行数据透视表,我是怎么把 Vue 响应式开销砍到零的
前端·vue.js·性能优化
xiaopang12 分钟前
小红书小组件(miniwidget)开发实战:单页面viewState切换架构
前端
labixiong17 分钟前
告别scroll 监听:CSS 滚动驱动动画,主线程堵死也仍跟手
前端·css·html
用户3028225306822 分钟前
别让 Agent 被 Webhook 叫醒就开工:实现一个幂等启动层
javascript
云析赢指标公式网425 分钟前
文华WH6布林轨道均线强弱共振指标公式
前端·算法
许彰午40 分钟前
34-安全复盘96个问题
前端·vue.js·安全
妙码生花1 小时前
PHP 各框架下和 Go 的性能比较
前端·后端·go
Csvn1 小时前
TypeScript 类型性能:让类型体操不再卡死编译器
前端
万少1 小时前
等不到 Apple 的折叠 iPhone,我用 DeepV4.1Flash + workBuddy 一句话自己造了一台
前端·javascript·后端
梦曦i1 小时前
uni-router v0.2.0重磅发布:全链路拦截+重复导航优化
前端·uni-app