父组件给子组件src地址;

 columns(){
return [
{'title': '图片', 'key': 'img', render(h, {row}){
return h(LoadingImg, {
props: {//把这些传给子组件
'w': ,
'h': ,
'src': 'http://192.168.2.233/carimages_small/' + row.id + '/view/' + row.img
}
});
}},
{'title': '编号', 'key': 'id'},
{'title': '品牌', 'key': 'brand'},
{'title': '车系', 'key': 'series'},
{'title': '颜色', 'key': 'color'},
{'title': '售价', 'key': 'price'},
{'title': '环保', 'key': 'exhaust'},
{'title': '发动机', 'key': 'engine'},
{'title': '燃料', 'key': 'fuel'}
];
}

子组件

props: ['w', 'h', 'src'],
methods: {
change(){
// 显示菊花
this.isShowPin = true;
// 创建一个虚拟图片
var img = new Image();
// 设置src
img.src = this.src;
// 监听load
img.onload = () => {
// 加载完毕之后替了
this.picurl = this.src;
// 隐藏菊花
this.isShowPin = false;
}
}
},
//创建前直接显示
created(){
this.change();
},
//改变后重新加载loading
watch:{
src(){
this.change()
}
}

loading

<template>
<div style="position:relative;" :style="{'width': w + 'px', 'height': h + 'px'}">
<img :style="{'width': w + 'px', 'height': h + 'px'}" :src="picurl" >
<Spin fix v-show="isShowPin">
<Icon type="ios-loading" size= class="demo-spin-icon-load"></Icon>
</Spin>
</div>
</template> <script>
export default {
props: ['w', 'h', 'src'],
data(){
return {
picurl: '',
isShowPin: false
};
},
methods: {
change(){
// 显示菊花
this.isShowPin = true;
// 创建一个虚拟图片
var img = new Image();
// 设置src
img.src = this.src;
// 监听load
img.onload = () => {
// 加载完毕之后替了
this.picurl = this.src;
// 隐藏菊花
this.isShowPin = false;
}
}
},
created(){
this.change();
},
watch:{
src(){
this.change()
}
}
}
</script> <style>
.demo-spin-icon-load{
animation: ani-demo-spin 1s linear infinite;
}
@keyframes ani-demo-spin {
from { transform: rotate(0deg);}
% { transform: rotate(180deg);}
to { transform: rotate(360deg);}
}
.demo-spin-col{
height: 100px;
position: relative;
border: 1px solid #eee;
}
</style>

喜欢的小伙伴可以关注我的微信公众号“前端伪大叔”

vue-loading图的更多相关文章

  1. 简易仿ios菊花加载loading图

    原文链接:https://mp.weixin.qq.com/s/wBbQgOfr59wntNK9ZJ5iRw 项目中经常会用到加载数据的loading显示图,除了设计根据app自身设计的动画loadi ...

  2. 利用box-shadow制作loading图

    我们见过很多利用css3做的loading图,像下面这种应该是很常见的.通常制作这种loading,我们会一个标签对应一个圆,八个圆就要八个标签.但是这种做法很浪费资源.我们可以只用一个标签,然后利用 ...

  3. 使用HTML5制作loading图

    昨天发了一篇使用HTML5 canvas写的时钟的文章,今天发一篇关于使用HTML5制作loading图的文章. <!DOCTYPE html> <html> <head ...

  4. 页面初次渲染loading图

    当第一次进入页面时,可能由于网速或其他原因请求接口需要等待很长时间,这是页面一片空白,很难看,切交互性也不好,这是,我们常常放上一个loading等待图给用户以反馈 // 页面尚未加载时的loadin ...

  5. vue数据请求显示loading图

    一般项目中,有时候会要求,你在数据请求的时候显示一张gif图片,然后数据加载完后,消失.这个,一般只需要在封装的axios中写入js事件即可.当然,我们首先需要在app.vue中,加入此图片.如下: ...

  6. 写一个Vue loading 插件

    什么是vue插件? 从功能上说,插件是为Vue添加全局功能的一种机制,比如给Vue添加一个全局组件,全局指令等: 从代码结构上说,插件就是一个必须拥有install方法的对象,这个方法的接收的第一个参 ...

  7. vue2整个项目中,数据请求显示loading图

    一般项目中,有时候会要求,你在数据请求的时候显示一张gif图片,然后数据加载完后,消失.这个,一般只需要在封装的axios中写入js事件即可.当然,我们首先需要在app.vue中,加入此图片.如下: ...

  8. Vue背景图打包之后访问路径错误

    问题背景:项目里面有用到背景图片,开发模式下正常,打包之后发现报404错误.查看发现是背景图片引用路径出错. 解决方法: .map { width: %; height: 397px; backgro ...

  9. [vue折线图] 记录SpringBoot+Vue3.0折线图订单信息展示

    因公司业务需求,需要做一份订单相关的折线图, 如果其中有一天没有订单的话,这一天就是空缺的,在绘制折线图的时候是不允许的,所有要求把没有订单数据的日期也要在图表显示. 使用技术vue3.0+sprin ...

  10. vue甘特图gantt

    vue做甘特图,先大致介绍下核心功能: (1)横轴.纵轴拖拽: (2)自定义监听点击事件(双击.右键等)(3)任务之间显示父子层级关系:(4)左侧列表信息,右侧时间轴表示任务:(5)每个任务可以订制样 ...

随机推荐

  1. 怎么让mysql的id从0开始

    有时候我们在测试网站的时候,删除测试数据导致id不是从0开始,那如果想id是从0开始怎么办呢?mysql默认自增ID是从1开始了,但当我们如果有插入表或使用delete删除id之后ID就会不会从1开始 ...

  2. RabbitMQ学习之:(八)Topic Exchange (转贴+我的评论)

    From: http://lostechies.com/derekgreer/2012/05/18/rabbitmq-for-windows-topic-exchanges/ RabbitMQ for ...

  3. "挡位"还是"档位",究竟谁错了

    http://baijiahao.baidu.com/s?id=1581395663965196858&wfr=spider&for=pc 对于“挡”与“档”两个字,我一直并没有给以太 ...

  4. linux定时脚本:删除linux/HDFS上过期文件

    一.定时删除linux上定时的文件 显示20分钟前的文件 -exec ls -l {} \; 删除20分钟前的文件 -exec rm {} \; 显示20天前的文件 -exec ls -l {} \; ...

  5. axios中的qs介绍

    首先qs是一个npm仓库所管理的包,可通过npm install qs命令进行安装. 地址: https://www.npmjs.com/package/qs qs.parse().qs.string ...

  6. 创建vue 项目

    sudo npm install -g @vue/cli-init vue init webpack my-project cd my-project/ npm install npm run dev

  7. 【计算机视觉】【并行计算与CUDA开发】GPU硬解码---DXVA

    前面介绍利用NVIDIA公司提供的CUVID库进行视频硬解码,下面将介绍利用DXVA进行硬解码. 一.DXVA介绍 DXVA是微软公司专门定制的视频加速规范,是一种接口规范.DXVA规范制定硬件加速解 ...

  8. 常用小技巧之PyCharm IDE

    Pycharm控制台窗口怎样可以显示不同程序的运行结果 默认情况下,每次运行会把之前的那个结果给清理掉. 有时候运行多个程序像对比结果,不太方便. 可以在pycharm的控制台那里点击右键,在弹出的菜 ...

  9. SSDsim

    1.官网 http://storage.hust.edu.cn/SSDsim/ 2.博客 http://www.tuicool.com/articles/U77n2i http://blog.sina ...

  10. vim中ctrl+z,jobs,fg命令用法

    例如:vi test.cctrl + z 将vi 打开的test.c停止并转到后台又打开一个vi buf.cctrl + z 将vi 打开的buf.c停止并转到后台此时通过jobs可以看到任务列表通过 ...