【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>
相关推荐
userxxcc1 分钟前
Waigo是用“Golang+Web”写的“视图窗口+稳定服务”的桌面端(Win、Mac、Ubuntu)多功能程序基座。开箱即用但有一定上手门槛。
javascript·golang·桌面应用基座·wails3
talen_hx2964 分钟前
飞书机器人发文本消息
java·前端·飞书
freewlt8 分钟前
前端工程化性能监控体系建设:从0到1实战指南
前端
Mintopia9 分钟前
别再一上来就分层:新手最容易做错的系统设计决定
前端
Csvn12 分钟前
CDN 与缓存策略
前端
Mintopia16 分钟前
不用死磕高并发,也能扛住流量:简单实用的系统设计思路
前端
rADu REME20 分钟前
rust web框架actix和axum比较
前端·人工智能·rust
吴声子夜歌22 分钟前
Vue3——Vue CLI
前端·javascript·vue.js
禅思院26 分钟前
总篇:异步组件加载的演进之路
前端·架构·前端框架
我的世界洛天依28 分钟前
洛天依讲编程:调音教学|调性 ——MIDI 里的「钩子函数」
linux·前端·javascript