参考:https://www.jianshu.com/p/104bbb01b222

Vue 页面加载数据之前增加 `loading` 动画

创建组件

1、新建 .vue 文件: src -> components -> laoding -> index.vue

2、编辑 index.vue 文件

<template>
<div class="loading"></div>
</template> <script>
export default {
name: "loading"
}
</script> <style scoped>
.loading {
position: fixed;
left: 20%;
top: 20%;
background: url('../../assets/images/load2.gif') center center no-repeat ;
width: 50vw;
height: 50vh;
z-index: 1000;
} </style>

使用组件

通过自定义一个变量 isLoading 初始化为 true ,在数据请求成功之后将变量改为 false ,在 template 中通过变量来控制是否显示隐藏,使用 vue 自带的 过渡效果 增加用户体验

需要在全局的 css 中加入过渡需要的样式 globle.css

.fade-enter,
.fade-leave-active {
opacity: 0;
}
.fade-enter-active,
.fade-leave-active {
transition: opacity 0.5s;
}

.vue 文件使用代码示例片段

                <el-table-column prop="salechnl" label="销售渠道" width="200" align="center"></el-table-column>
<el-table-column prop="riskname" label="险种名称" width="200" align="center"></el-table-column>
</el-table>
<!-- 分页 -->
<!-- <div align="right" style="margin-top: 20px;margin-right:245px">-->
<!-- <el-pagination-->
<!-- background-->
<!-- @size-change="handleSizeChange"-->
<!-- @current-change="handleCurrentChange"-->
<!-- :current-page.sync="currentPage"-->
<!-- :page-sizes="pageCount"-->
<!-- :page-size="5"-->
<!-- layout="sizes, prev, pager, next, jumper,total"-->
<!-- :total="count"-->
<!-- ></el-pagination>-->
<!-- </div>-->
<transition name="fade">
<loading v-if="isLoading"></loading>
</transition> </div> </div>
</template>
<script>
import http from '../../../assets/js/http'
import Loading from '../../../components/loading/index'
export default {
components:{ Loading },
data() {
return { isLoading: false,
dData: [],
methods: {
loadData(){
this.isLoading = true;
var data = {};
//参数
let userInfo = Lockr.get('userInfo')
if (this.formInline.contract_start_date != '' ) {
data.contract_start_date = this.formatter(this.formInline.contract_start_date, "yyyy-MM-dd")
} else {
data.contract_start_date = "";
};
if (this.formInline.contract_end_date != '' ) {
data.contract_end_date = this.formatter(this.formInline.contract_end_date, "yyyy-MM-dd")
} else {
data.contract_end_date = this.formInline.contract_end_date
};
console.log("%c -------传递额参数-----","color:green");
console.log(data);
this.apiPost('underwritelist/queryunderwritelist', data).then((res) => {
console.log(res);
this.tableData=[];
this.handelResponse(res, (data) => {
console.log(res);
this.tableData = data.list;
this.count = data.total;
this.isLoading = false;
})
});
},

当vue 页面加载数据时显示 加载loading的更多相关文章

  1. viewPager使用时加载数据时显示IllegalStateException异常,解决不了。。。。

    从newsPager中得到newsDetailTitles标题的详细内容,这是通过构造器传过来的.打印日志78行能打印,45行打印出来共size是12.但是程序出现了异常java.lang.Illeg ...

  2. jquery加载数据时显示loading加载动画特效

    插件下载:http://www.htmleaf.com/jQuery/Layout-Interface/201505061788.html 插件使用: 使用该loading加载插件首先要引入jQuer ...

  3. jquery mobile 请求数据方法执行时显示加载中提示框

    在jquery mobile开发中,经常需要调用ajax方法,异步获取数据,如果异步获取数据方法由于网速等等的原因,会有一个反应时间,如果能在点击按钮后数据处理期间,给一个正在加载的提示,客户体验会更 ...

  4. 解决easyui datagrid加载数据时,checkbox列没有根据checkbox的值来确定是否选中

    背景:   昨天帮朋友做一个easyui datagrid的小实例时,才发现easyui datagrid的checkbox列,没有根据值为true或false来选中checkbox,当时感觉太让人失 ...

  5. vue 中监测滚动条加载数据(懒加载数据)

    vue 中监测滚动条加载数据(懒加载数据) 1:钩子函数监听滚动事件: mounted () { this.$nextTick(function () { window.addEventListene ...

  6. Fullcalendar改版后发布到IIS或者tomcat里面前端加载数据不显示的问题

    问题如题:Fullcalendar改版后发布到IIS或者tomcat里面前端加载数据不显示的问题 解决办法:通过火狐浏览器工具发现是时间格式不对的原因,需要将时间格式修改为:yyyy-MM--DD   ...

  7. easyui datagrid 异步加载数据时滚动条有时会自动滚到最底部的问题

    在使用easyui 的datagrid异步加载数据时发现滚动条有时会自动滚到最底部.经测试发现,如果加载数据前没有选中行则不会出现这个问题.这样我们可以在重新异步加载数据前取消选中行就可以避免这个问题 ...

  8. 实现easyui datagrid在没有数据时显示相关提示内容

    本示例实现easyui datagrid加载/查询数据时,如果没有相关记录,则在datagrid中显示没有相关记录的提示信息,效果如下图所示 本实例要实现如下图所示的效果: 本示例easyui版本为1 ...

  9. easy ui datagrid在没有数据时显示相关提示内容

    $(function () { $('#dg').datagrid({ fitColumns: true, url: 'product.json', pagination: true, pageSiz ...

随机推荐

  1. Django基础之自定义分页器

    自定义分页器 针对批量插入的数据,我们在前端展示的时候发现一个很严重的问题,一页展示了所有的数据,数据量太大,查看不方便 针对数据量大但又需要全部展示给用户观看的情况下,我们统一做法都是做分页处理 分 ...

  2. 魔镜魔镜,今天有雨吗?——GitHub 热点速览 v.21.25

    作者:HelloGitHub-小鱼干 上周智能驾驶项目的作者曾经做过一个透明小电视机,同透明电视机类似 MagicMirror 也是一个神奇的智能项目,使用它进行模块定制开发,你将拥有一块非常酷炫的智 ...

  3. 用Java语言编写的迷宫小游戏软件

    可查看本项目的github 源码链接,撒娇打滚求 star 哦~~ღ( ´・ᴗ・ ` )比心 本仓库代码是经过 eclipse 编译运行过的,一般情况下将本仓库代码下载下来之后,使用 eclipse ...

  4. Vue前端基础学习

    vue-cli vue-cli 官方提供的一个脚手架(预先定义好的目录结构及基础代码,咱们在创建Maven项目的时可以选择创建一个骨架项目,这个骨架项目就是脚手架),用于快速生成一个vue项目模板 主 ...

  5. js 动态设置 div 背景图片 并滚动显示

    var imgs =["../img/index/bgstyle/style1/index_top_bg2.jpg", "../img/index/bgstyle/sty ...

  6. Python中任务队列-芹菜celery的使用

    一.关于celery 芹菜celery是一个python实现的异步任务队列,可以用于爬虫.web后台查询.计算等等.通过任务队列,当一个任务来临时不再傻傻等待. 他的架构如下: Broker 我们的生 ...

  7. TCP 的 Keepalive 和 HTTP 的 Keep-Alive 是一个东西吗?

    大家好,我是小林. TCP 的 Keepalive 和 HTTP 的 Keep-Alive 是一个东西吗? 这是个好问题,应该有不少人都会搞混,因为这两个东西看上去太像了,很容易误以为是同一个东西. ...

  8. Docker搭建Jenkins+Maven/Gradle——代码自动化运维部署平台(二)

    一.简介 1.Jenkins 概述: Jenkins是一个功能强大的应用程序,允许持续集成和持续交付项目,无论用的是什么平台.这是一个免费的源代码,可以处理任何类型的构建或持续集成.集成Jenkins ...

  9. 你真的懂 export default 吗?

    export default A 和 export { A as default } 乍一看是一样的,但是里面有一些细微的区别比较容易留坑.本文介绍两种写法的不同之处. import 语句导入的是引用 ...

  10. 关于Feign的Fallback处理

    Feign的不恰当的fallback Feign的坑不少,特别与Hystrix集成之后. 在微服务引入Feign后,上线不久后便发现,对于一个简单的查询类调用,在下游返回正常的"404-资源 ...