vue實現圖片載入完成前的loading組件方法,

來源:互聯網
上載者:User

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組件方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支援幫客之家。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.