**解决因加载重组件过多,导致渲染时间过长的问题:**

解决因加载重组件过多,导致渲染时间过长的问题:
html:

Js:
import {onUnmounted,ref} from 'vue';
export function useDefer(maxCount =100){
const frameCOunt = ref(1);//加载第一帧,必须用响应式,因为这个数据是不断变化的
let rafid;
function updateFrameCount() {//更新第几帧
rafId =requestAnimationFrame(()=>{
frameCount.value++;//每一帧到达的时候 +1,
if(frameCount.value >= maxCount){//因为我们设置的加载组件次数是100,当大于设定的时候,就不需要继续递归处理了,可以直接返回
return;
}
updateFrameCount();//然后在重复的调用自身
});
}
updateFrameCount();//一开始启动
onUnmounted(()=>{//卸载组件的时候 取消监听
cancelAnimationFrame(rafId);
})
return frameCount.value >=n;//当前到达第几帧
}

posted @ 2025-06-09 15:14  闫奕城  阅读(9)  评论(0)    收藏  举报