C'est exactement la même chose que Angular 2 - Vérifiez si l'url de l'image est valide ou cassée .
comment puis-je implémenter cela dans vuejs?
Vue.js a un @error
événement auquel vous pouvez vous connecter. De vuejs numéro # 3261 . Vous pourriez donc faire:
<template>
<img :src="avatarUrl" @error="imageLoadError" />
</template>
<script>
export default {
methods: {
imageLoadError () {
console.log('Image failed to load');
}
}
};
</script>
Edit : J'ai découvert que cela fonctionne aussi pour <audio>
tags (et je soupçonne d'autres éléments qui définissent un attribut src
et chargent un élément)!
Il semble que @error fonctionne bien. J'ai personnellement utilisé une méthode avec un événement afin de définir une image alternative.
<img :src="image" @error="imageUrlAlt">
La méthode:
imageUrlAlt(event) {
event.target.src = "alt-image.jpg"
}
De vuejs numéro # 5404 .
J'utilise une propriété calculée qui renvoie une chaîne avec l'URL de l'espace réservé au lieu du gestionnaire @error comme celui-ci. De cette façon, si la source est nulle ou non définie, l'espace réservé sera chargé.
<img :src="source || computedPropertyString" />