vue页面增加Loading效果,基于transition动画

一、首先在src下的components下新建loading目录,于此内新建index.vue组件,代码如下:

<template>
    <div class="loading"></div>
</template>
<script>
    export default {
        name: 'Loading' // 定义的组件名称 使用时写法:loading
    }
</script>
<style scoped>
    .loading {
        position: fixed;
        left: 0;
        top: 0;
        background: url('../../assets/css/images/loading.svg') center center no-repeat rgb(96, 96, 96, 0.8);
        width: 100vw;
        height: 100vh;
        z-index: 1000;
    }
//布局方式position必须设置为fixed,下载好对应的Loading图标,放置于相应的路径位置,配置好背景颜色以及透明度
</style>

二、来到需要加载Loading效果的组件里面,先引入组件,并配置好,代码如下:

import Loading from '@/components/loading'
components: {
    Loading
}

三、在组件template里面添加代码:

<transition name="fade">
    <loading v-if="isLoading"></loading>
</transition>

四、在data里面将isLoading属性值设置为true

data() {
    return {
        isLoading: true
    }
}

五、当页面加载进来的时候,即mounted等生命周期的时候,此时isLoading: true,所有会有加载Loading动画,当请求数据完成且渲染好后加一句代码:this.isLoading = false,即可关闭Loading效果。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 无论最终要实现怎样的网站,Loading状态都是必不可少的一环,给用户一个过渡喘息的机会也给服务器一个递达响应的时...
    Cyrbuzz阅读 4,304评论 0 2
  • 懒加载 为什么需要懒加载? 像vue这种单页面应用,如果没有应用懒加载,运用webpack打包后的文件将会异常的大...
    littlesiqi阅读 16,371评论 1 8
  • 一、什么是MVVM? MVVM是Model-View-ViewModel的缩写。MVVM是一种设计思想。Model...
    唐人不自醉阅读 2,144评论 0 1
  • 一、什么是MVVM? MVVM是Model-View-ViewModel的缩写。MVVM是一种设计思想。Model...
    习惯就好a阅读 3,882评论 0 23
  • 一、什么是MVVM? MVVM是Model-View-ViewModel的缩写。MVVM是一种设计思想。Model...
    流泪手心_521阅读 2,656评论 0 0