Vue.js項目中,當圖片無法顯示時則顯示默認圖片


Vue.js項目中,當圖片無法顯示時則顯示默認圖片使用onerror方法

最近在學習Vue時,遇到了一個問題,就是從后台傳過來的圖片路徑無效時,需要在頁面顯示默認圖片

本人試了3種方法,2種方法失敗了(失敗原因:圖片定位失敗

失敗方法一:

  見http://blog.csdn.net/qq_32786873/article/details/53483951

失敗方法二:

  直接把圖片路徑直接寫在data里面作為變量傳到模板中,但是卻發現圖片還是出不了,以為是圖片路徑的問題,

  查了半天才發現項目啟動后圖片的路徑並不是我們寫的路徑了。比如我們寫的圖片路徑是:../assets/img.png,

  但是在網頁開發者工具查看時路徑卻是:/static/img/img.4aa0af1.png,也就是說圖片路徑是有變化的。

解決方法(在方法二的基礎上改進的):

  使用require將圖片進入,寫法如下:


  data: () => ({
    logo: 'this.src="' + require('../assets/img.png') + '"'
  })

注:我是在data里就將字符串拼接好了,當然也可以在onerror方法里拼接,這里就不贅述了。

然后在img的onerror方法中調用:


<img v-bind:src="userData.photo" :onerror="logo" class="img-box4">

在v-bind標簽中,單引號' '引用的內容作為字符串存在;雙引號" "引用的內容作為變量/表達式存在,可以進行運算。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM