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 toFixed()方法的重写实现精度的统一
Mar 06 Javascript
12306验证码破解思路分享
Mar 25 Javascript
浅析javascript中的事件代理
Nov 06 Javascript
跟我学习javascript创建对象(类)的8种方法
Nov 20 Javascript
JavaScript拖动层Div代码
Mar 01 Javascript
Angular中的interceptors拦截器
Jun 25 Javascript
Iscrool下拉刷新功能实现方法(推荐)
Jun 26 Javascript
基于JavaScript实现多级菜单效果
Jul 25 Javascript
Vue中使用create-keyframe-animation与动画钩子完成复杂动画
Apr 09 Javascript
深入探索VueJS Scoped CSS 实现原理
Sep 23 Javascript
JavaScript实现轮播图效果代码实例
Sep 28 Javascript
JavaScript的console命令使用实例
Dec 03 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
php下删除字符串中HTML标签的函数
2008/08/27 PHP
PHP foreach循环使用详解与实例代码
2010/05/08 PHP
php导出excel格式数据问题
2014/03/11 PHP
php防止恶意刷新与刷票的方法
2014/11/21 PHP
php生成固定长度纯数字编码的方法
2015/07/09 PHP
在 Laravel 项目中使用 webpack-encore的方法
2019/07/21 PHP
Swoole扩展的6种模式深入详解
2021/03/04 PHP
Prototype使用指南之dom.js
2007/01/10 Javascript
jqGrid读取选择的多行的某个属性代码
2014/05/18 Javascript
JavaScript中的toLocaleDateString()方法使用简介
2015/06/12 Javascript
根据user-agent判断蜘蛛代码黑帽跳转代码(js版与php版本)
2015/09/14 Javascript
Javascript继承机制详解
2017/05/30 Javascript
Angularjs上传文件组件flowjs功能
2017/08/07 Javascript
JavaScript中防止微信浏览器被整体拖动的方法
2017/08/25 Javascript
Vue.js项目模板搭建图文教程
2017/09/20 Javascript
element 结合vue 在表单验证时有值却提示错误的解决办法
2018/01/22 Javascript
浅谈MUI框架中加载外部网页或服务器数据的方法
2018/01/31 Javascript
jQuery实现的五星点评功能【案例】
2019/02/18 jQuery
微信小程序开发实现的IP地址查询功能示例
2019/03/28 Javascript
jquery实现简单拖拽效果
2020/07/20 jQuery
[01:16]DOTA2小知识课堂 Ep.03 芒果树无伤肉山
2019/12/05 DOTA
Python实现发送email的几种常用方法
2014/08/18 Python
用Python进行一些简单的自然语言处理的教程
2015/03/31 Python
python 把文件中的每一行以数组的元素放入数组中的方法
2018/04/29 Python
Python单元和文档测试实例详解
2019/04/11 Python
深入了解Python iter() 方法的用法
2019/07/11 Python
pytorch 共享参数的示例
2019/08/17 Python
浅谈Python类中的self到底是干啥的
2019/11/11 Python
Python如何在单元测试中给对象打补丁
2020/08/03 Python
俄罗斯建筑和装饰材料在线商店:Stroilandia
2020/07/25 全球购物
惠普新加坡官方商店:HP Singapore
2020/04/17 全球购物
一年级语文教学反思
2014/02/13 职场文书
关键在于落实心得体会
2014/09/03 职场文书
主持人开幕词
2015/01/29 职场文书
城南旧事观后感
2015/06/11 职场文书
2016年第104个国际护士节活动总结
2016/04/06 职场文书