我使用VueJS编写前端代码,加载图片时标签出现问题。
Template
<div class="items" transition="fade" v-for="item in list">
<img :src="item.logoPath" @error="replaceByDefault">
</div>
JS(ES6)
export default {
methods: {
replaceByDefault(e) {
// code here to replace image by default
}
}
template: require('./template.html')
}
目前,我在replaceByDefault函数中进行了调试但是它没有运行到这个函数中?我不知道为什么?
你能帮我解释一下这个问题吗?谢谢!
答案 0 :(得分:4)
我试图做类似的事情,但是我的问题是我在某些图像上得到了404,我想用默认图像替换该图像。
这是我的解决方案:
<template>
<div :key="index" v-for="(item, index) in list">
<img :src="item.logo" @error="replaceByDefault">
</div>
</template>
<script>
import img from '<<URL>>'
export default {
methods: {
replaceByDefault(e) {
e.target.src = img
}
}
}
</script>
答案 1 :(得分:2)
<img onerror="javascript:this.src='error.png'">
答案 2 :(得分:0)
感谢大家读到这个我的问题,我解决了这个问题:)。
错误事件不起作用的原因是因为{item}对象的属性'logoPath'不存在,因此,vueJS中的':src'未绑定,并且图像的src确实存在=&gt ; on-error不起作用:))
我的坏:(