<template>
<div v-if="isLoading" class="loading">
<img src="@/assets/loading.gif" alt="Loading..." />
</div>
<div v-else>
<!-- 其他内容 -->
</div>
</template>
<script>
export default {
data() {
return {
isLoading: true, // 控制加载状态的布尔值
};
},
mounted() {
// 模拟异步操作,2秒后停止加载
setTimeout(() => {
this.isLoading = false;
}, 2000);
},
};
</script>
<style scoped>
.loading {
display: flex;
justify-content: center;
align-items: center;
height: 100vh;
}
</style>
模板部分 (<template>):
v-if 指令根据 isLoading 的值来决定是否显示加载动画。isLoading 为 true,则显示加载动画(通过 <img> 标签引入一张 GIF 图片)。isLoading 为 false,则显示其他内容。脚本部分 (<script>):
data 函数,返回一个对象,其中包含 isLoading 属性,初始值为 true。mounted 生命周期钩子中,使用 setTimeout 模拟一个异步操作,2 秒后将 isLoading 设置为 false,从而隐藏加载动画。样式部分 (<style scoped>):
100vh),确保加载动画在整个页面居中。上一篇:vue获取当前页面的url
下一篇:vue前端和后端怎么连接起来
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站