vue实现图片加载完成前的loading组件方法


Posted in Javascript onFebruary 05, 2018

如下所示:

<template>
 <img :src="url">
</template>
<script>
 export default {
  props: ['src'], // 父组件传过来所需的url
  data() {
   return {
    url: 'http://www.86y.org/images/loading.gif' // 先加载loading.gif
   }
  },
  mounted() {
   var newImg = new Image()
   newImg.src = this.src
   newImg.onerror = () => { // 图片加载错误时的替换图片
    newImg.src = 'https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1489486509807&di=22213343ba71ad6436b561b5df999ff7&imgtype=0&src=http%3A%2F%2Fa0.att.hudong.com%2F77%2F31%2F20300542906611142174319458811.jpg'
   }
   newImg.onload = () => { // 图片加载成功后把地址给原来的img
    this.url = newImg.src
   }
  }
 }
</script>

以下为纯js代码

<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <title>loading</title>
</head>
<body>
 <img id="img">
 <script>
  window.onload = () => {
   var img = document.querySelector('#img');
   img.src = 'http://www.86y.org/images/loading.gif'; // 先加载loading.gif
   var newImg = new Image();
   newImg.src = 'https://avatars3.githubusercontent.com/u/1?v=3';
   newImg.onerror = () => { // 图片加载错误时的替换图片
    newImg.src = 'https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1489486509807&di=22213343ba71ad6436b561b5df999ff7&imgtype=0&src=http%3A%2F%2Fa0.att.hudong.com%2F77%2F31%2F20300542906611142174319458811.jpg';
   }
   newImg.onload = () => { // 图片加载成功后把地址给原来的img
    img.src = newImg.src
   }
  }
 </script>
</body>
</html>

以上这篇vue实现图片加载完成前的loading组件方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
JS实现金额转换(将输入的阿拉伯数字)转换成中文的实现代码
Sep 30 Javascript
基于jquery实现的自动补全功能
Mar 12 Javascript
javascript实现图片上传前台页面
Aug 18 Javascript
JavaScript函数节流概念与用法实例详解
Jun 20 Javascript
jquery实现的table排序功能示例
Mar 10 Javascript
使用JS在浏览器中判断当前网络连接状态的几种方法
May 05 Javascript
vue mint-ui学习笔记之picker的使用
Oct 11 Javascript
关于微信小程序bug记录与解决方法
Aug 15 Javascript
Vue加载组件、动态加载组件的几种方式
Aug 31 Javascript
Puppeteer 爬取动态生成的网页实战
Nov 14 Javascript
微信小程序JS加载esmap地图的实例详解
Sep 04 Javascript
layui select 禁止点击的实现方法
Sep 05 Javascript
JS设计模式之策略模式概念与用法分析
Feb 05 #Javascript
Node.js成为Web应用开发最佳选择的原因
Feb 05 #Javascript
Node.js上传文件功能之服务端如何获取文件上传进度
Feb 05 #Javascript
javascript实现最长公共子序列实例代码
Feb 05 #Javascript
JS设计模式之访问者模式定义与用法分析
Feb 05 #Javascript
基于vue 动态加载图片src的解决方法
Feb 05 #Javascript
vue2.0 datepicker使用方法
Feb 04 #Javascript
You might like
通过ICQ网关发送手机短信的PHP源程序
2006/10/09 PHP
目录,文件操作详谈―PHP
2006/11/25 PHP
PHP GD 图像处理组件的常用函数总结
2010/04/28 PHP
PHPUnit安装及使用示例
2014/10/29 PHP
PHP上传文件参考配置大文件上传
2015/12/16 PHP
yii权限控制的方法(三种方法)
2015/12/28 PHP
Code:findPosX 和 findPosY
2006/12/20 Javascript
js实现简单模态窗口,背景灰显
2008/11/14 Javascript
js优化针对IE6.0起作用(详细整理)
2012/12/25 Javascript
jQuery插件-jRating评分插件源码分析及使用方法
2012/12/28 Javascript
css transform 3D幻灯片特效实现步骤解读
2013/03/27 Javascript
容易造成JavaScript内存泄露几个方面
2014/09/04 Javascript
js的touch事件的实际引用
2014/10/13 Javascript
jQuery实现Email邮箱地址自动补全功能代码
2015/11/03 Javascript
使用jQuery UI库开发Web界面的简单入门指引
2016/04/22 Javascript
当jquery ajax遇上401请求的解决方法
2016/05/19 Javascript
使用Bootstrap typeahead插件实现搜索框自动补全的方法
2016/07/07 Javascript
详解vue-cli快速构建vue应用并实现webpack打包
2017/12/13 Javascript
JS大坑之19位数的Number型精度丢失问题详解
2019/04/22 Javascript
react 组件传值的三种方法
2019/06/03 Javascript
微信小程序添加插屏广告并设置显示频率(一天一次)
2019/12/06 Javascript
vue使用swiper实现左右滑动切换图片
2020/10/16 Javascript
python绘图库Matplotlib的安装
2014/07/03 Python
Python中struct模块对字节流/二进制流的操作教程
2017/01/21 Python
在pycharm中实现删除bookmark
2020/02/14 Python
10个python3常用排序算法详细说明与实例(快速排序,冒泡排序,桶排序,基数排序,堆排序,希尔排序,归并排序,计数排序)
2020/03/17 Python
浅谈django channels 路由误导
2020/05/28 Python
Bobbi Brown芭比波朗美国官网:化妆师专业彩妆保养品品牌
2016/08/18 全球购物
Happy Plugs官网:瑞典无线耳机品牌
2020/07/16 全球购物
实习评语
2013/12/16 职场文书
实用求职信范文分享
2013/12/25 职场文书
2014年会策划方案
2014/05/11 职场文书
2015年大学生暑期实习报告
2015/07/13 职场文书
2016国庆节67周年寄语
2015/12/07 职场文书
python turtle绘图命令及案例
2021/11/23 Python
基于Python编写简易版的天天跑酷游戏的示例代码
2022/03/23 Python