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的逻辑运算符 ||
May 31 Javascript
jQuery 选择器、DOM操作、事件、动画
Nov 25 Javascript
上传图片js判断图片尺寸和格式兼容IE
Sep 01 Javascript
jquery实现的动态回到顶部特效代码
Oct 28 Javascript
基于BootStrap Metronic开发框架经验小结【四】Bootstrap图标的提取和利用
May 12 Javascript
JS针对Array的各种操作汇总
Nov 29 Javascript
easyUI combobox实现联动效果
Jan 17 Javascript
Vue组件化通讯的实例代码
Jun 23 Javascript
JavaScript实现的搜索及高亮显示功能示例
Aug 14 Javascript
JavaScript实现开关等效果
Sep 08 Javascript
深入浅析vue中cross-env的使用
Sep 12 Javascript
详解Vue的ref特性的使用
Jan 24 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
DC漫画《蝙蝠侠和猫女》图透 猫女怀孕老爷当爹
2020/04/09 欧美动漫
php将时间差转换为字符串提示
2011/09/07 PHP
使用PHP求两个文件的相对路径
2013/06/20 PHP
php除数取整示例
2014/04/24 PHP
CI框架(CodeIgniter)实现的导入、导出数据操作示例
2018/05/24 PHP
PHP number_format函数原理及实例解析
2020/07/14 PHP
js 弹出菜单/窗口效果
2011/10/30 Javascript
用JavaScript实现动画效果的方法
2013/07/20 Javascript
javascript验证上传文件的类型限制必须为某些格式
2013/11/14 Javascript
jquery实现从数组移除指定的值
2015/06/24 Javascript
Javascript数组Array基础介绍
2016/03/13 Javascript
基于zTree树形菜单的使用实例
2017/12/25 Javascript
详解Angular调试技巧之报错404(not found)
2018/01/31 Javascript
js实现for循环跳过undefined值示例
2019/07/02 Javascript
vue实现设置载入动画和初始化页面动画效果
2019/10/28 Javascript
Postman参数化实现过程及原理解析
2020/08/13 Javascript
工作中常用js功能汇总
2020/11/07 Javascript
haskell实现多线程服务器实例代码
2013/11/26 Python
简单介绍Python下自己编写web框架的一些要点
2015/04/29 Python
python类和函数中使用静态变量的方法
2015/05/09 Python
Python批量按比例缩小图片脚本分享
2015/05/21 Python
python利用matplotlib库绘制饼图的方法示例
2016/12/18 Python
Python 多线程Threading初学教程
2017/08/22 Python
python中利用Future对象回调别的函数示例代码
2017/09/07 Python
Python操作MySQL数据库的三种方法总结
2018/01/30 Python
Python中的十大图像处理工具(小结)
2019/06/10 Python
Pandas聚合运算和分组运算的实现示例
2019/10/17 Python
python中的selenium安装的步骤(浏览器自动化测试框架)
2020/03/17 Python
Python 执行矩阵与线性代数运算
2020/08/01 Python
python unichr函数知识点总结
2020/12/16 Python
JD Sports德国官网:英国领先的运动鞋和运动服饰零售商
2018/02/26 全球购物
丝芙兰新加坡官网:Sephora新加坡
2018/12/04 全球购物
互联网创业计划书的书写步骤
2014/01/28 职场文书
学校校庆演讲稿
2014/05/22 职场文书
python实现三次密码验证的示例
2021/04/29 Python
mysql事务隔离级别详情
2021/10/24 MySQL