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

 更新时间:2018年02月05日 09:30:37   作者:_破败  
下面小编就为大家分享一篇vue实现图片加载完成前的loading组件,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

如下所示:

<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组件方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • vue引入element-ui之后,页面是空白的问题及解决

    vue引入element-ui之后,页面是空白的问题及解决

    这篇文章主要介绍了vue引入element-ui之后,页面是空白的问题及解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-01-01
  • 深入了解Vue3组件传值方式

    深入了解Vue3组件传值方式

    学习过 vue2 的宝子们肯定知道,组件传值是 vue 项目开发过程中必不可少的功能场景,在 vue2 里面有很多传值的方式。今天就来和大家讲讲Vue3的组件传值方式,需要的可以参考一下
    2022-07-07
  • Vue实现动态控制表格列的显示和隐藏

    Vue实现动态控制表格列的显示和隐藏

    这篇文章主要为大家详细介绍了Vue实现动态控制表格列的显示和隐藏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-04-04
  • Vue组件懒加载的操作代码

    Vue组件懒加载的操作代码

    在本文中,我们学习了如何使用 Intersection Observer API 和 defineAsyncComponent 函数在 Vue 组件可见时对其进行懒加载,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友一起看看吧
    2023-09-09
  • Vue组件间通信的实现方法讲解

    Vue组件间通信的实现方法讲解

    组件是vue.js最强大的功能之一,而组件实例的作用域是相互独立的,这就意味着不同组件之间的数据无法相互进行直接的引用,所以组件间的相互通信是非常重要的
    2023-01-01
  • Vue中使用elementui与Sortable.js实现列表拖动排序

    Vue中使用elementui与Sortable.js实现列表拖动排序

    这篇文章主要为大家详细介绍了Vue中使用elementui与Sortable.js实现列表拖动排序,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-04-04
  • Vue一个动态添加background-image的实现

    Vue一个动态添加background-image的实现

    这篇文章主要介绍了Vue一个动态添加background-image的实现方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-03-03
  • Vue filter 过滤当前时间 实现实时更新效果

    Vue filter 过滤当前时间 实现实时更新效果

    这篇文章主要介绍了Vue filter 过滤当前时间 实现实时更新效果,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-12-12
  • vue解决跨域问题的几种常用方法(CORS)

    vue解决跨域问题的几种常用方法(CORS)

    在Vue中解决跨域问题有多种方法,今天通过本文给大家介绍几种比较常见的方法,对vue解决跨域问题感兴趣的朋友跟随小编一起看看吧
    2023-05-05
  • vue图片上传组件使用详解

    vue图片上传组件使用详解

    这篇文章主要为大家详细介绍了vue图片上传组件的使用方法,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-12-12

最新评论