実現したいこと
Vueで楽天APIを叩いて商品を表示させる機能を作っておりますが、取得した画像リンクがリンク切れを起こして404のときは、そのエラーをキャッチして代替画像を表示させるようにしたいですが、上手くいきません。
どなたかわかる方アドバイスを頂けますと幸いです。
よろしくお願いいたします。
こちらの記事を参考にしました。
該当のコード
Vue
1<template> 2 <figure class="image"> 3 <img :src="item.Item.mediumImageUrls[0].imageUrl" @error="altImg()" /> 4 </figure> 5</template> 6 7<script> 8export default { 9 props: { 10 item: Object, 11 }, 12 methods: { 13 altImg() { 14 this.item.Item.mediumImageUrls[0].imageUrl = require('../../../../assets/images/altImage.JPG') 15 } 16 } 17} 18</script>
試したこと
altImg()
の中にdebugger
を入れて処理を止めてみようとしましたが、処理が止まりませんでした。
ですので、そもそも@error
で404エラーをキャッチ出来ていないのでは?と考えています。
@error
だけでは足りなく、エラーをキャッチするために何かまた別のコードが必要になるのでしょうか?
試しに、<img :src="require('../../../../assets/images/altImgae.JPG')">
このように直接imgダグ
に代替画像のパスを貼ってみるとちゃんと表示することができたので、代替画像のパスの間違えではなさそうです。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。