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对数字的格式化使用说明
Jan 12 Javascript
treepanel动态加载数据实现代码
Dec 15 Javascript
JavaScript的递归之递归与循环示例介绍
Aug 05 Javascript
angularjs自定义ng-model标签的属性
Jan 21 Javascript
JavaScript实现九九乘法表的简单实例
Jun 07 Javascript
JS查找字符串中出现次数最多的字符
Sep 05 Javascript
微信小程序 wx.request(接口调用方式)详解及实例
Nov 23 Javascript
微信小程序利用co处理异步流程的方法教程
May 20 Javascript
Js利用Canvas实现图片压缩功能
Sep 13 Javascript
微信小程序修改swiper默认指示器样式的实例代码
Jul 18 Javascript
JS根据json数组多个字段排序及json数组常用操作
Jun 06 Javascript
基于openlayers实现角度测量功能
Sep 28 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
BBS(php &amp; mysql)完整版(三)
2006/10/09 PHP
PHP数据类型的总结分析
2013/06/13 PHP
thinkPHP框架实现多表查询的方法
2018/06/14 PHP
laravel Validator ajax返回错误信息的方法
2019/09/29 PHP
用js实现in_array的方法
2013/11/05 Javascript
javascript窗口宽高,鼠标位置,滚动高度(详细解析)
2013/11/18 Javascript
JavaScript实现的链表数据结构实例
2015/04/02 Javascript
js实现页面跳转的五种方法推荐
2016/03/10 Javascript
jQuery的实例及必知重要的jQuery选择器详解
2016/05/20 Javascript
javaScript实现复选框全选反选事件详解
2020/11/20 Javascript
微信小程序本地存储实现每日签到、连续签到功能
2019/10/09 Javascript
Vue 3.0 全家桶抢先体验
2020/04/28 Javascript
Javascript call及apply应用场景及实例
2020/08/26 Javascript
vue element实现表格合并行数据
2020/11/30 Vue.js
[48:30]LGD vs infamous Supermajor小组赛D组 BO3 第一场 6.3
2018/06/04 DOTA
简单介绍Python中的round()方法
2015/05/15 Python
Python 数据结构之队列的实现
2017/01/22 Python
python 读入多行数据的实例
2018/04/19 Python
Python实现获取本地及远程图片大小的方法示例
2018/07/21 Python
OpenCV图像颜色反转算法详解
2019/05/13 Python
Mac 使用python3的matplot画图不显示的解决
2019/11/23 Python
python对Excel的读取的示例代码
2020/02/14 Python
python进行参数传递的方法
2020/05/12 Python
matplotlib基础绘图命令之imshow的使用
2020/08/13 Python
Python中Pyspider爬虫框架的基本使用详解
2021/01/27 Python
PacSun官网:加州生活方式服装、鞋子和配饰
2018/03/10 全球购物
工作决心书范文
2014/03/11 职场文书
青安岗事迹材料
2014/05/14 职场文书
暑假社会实践证明格式
2014/10/28 职场文书
转让协议书
2015/01/27 职场文书
2015年施工员工作总结范文
2015/04/20 职场文书
入党介绍人考察意见
2015/06/01 职场文书
教师节表彰会主持词
2015/07/06 职场文书
教你使用vscode 搭建react-native开发环境
2021/07/07 Javascript
动画电影《龙珠超 超级英雄》延期上映
2022/03/20 日漫
Python+OpenCV实现在图像上绘制矩形
2022/03/21 Python