uni-app中App.vue的onLaunch函数和页面的onLoad函数异步问题的解决方案(Vue2/Vue3)
// Vue3 示例
<template>
<view>
<text v-if="loaded">页面加载完成</text>
</view>
</template>
<script>
import { ref } from 'vue';
export default {
setup() {
const loaded = ref(false);
// 在 onLaunch 中设置异步任务
window.uni.onLaunch(async () => {
// 执行异步操作,例如初始化数据
await new Promise(resolve => setTimeout(resolve, 1000));
console.log('App 启动完成,可以进行初始化操作');
// 设置 loaded 为 true,表示页面加载完成
loaded.value = true;
});
return {
loaded
};
}
};
</script>
这个代码示例展示了如何在uni-app中使用Vue3的Composition API来处理App.vue的onLaunch函数和页面的onLoad函数中的异步问题。在App.vue的onLaunch钩子中,我们执行了一个模拟的异步操作(例如:setTimeout),然后在异步操作完成后更新了一个响应式变量(loaded),该变量在模板中用于控制页面内容的显示。这样可以确保在异步操作完成后页面内容才会显示,从而解决了这个问题。
评论已关闭