<image mode="aspectFill" :src="item.pic" v-image-error @error='error'></image>
methods: {
error() {
console.log( '组件中的 error 事件被触发' )
}
}
Vue.directive('image-error', {
inserted(el, binding) {
el.onerror = function() {
console.log('自定义指令中的 error 被触发')
}
},
})
在组件中直接使用 error 事件就可以触发,在自定义指令中定义的 error 事件就没被触发,如何解决?
因为
image
组件不一定是原生图片组件,所以不一定会有onerror
事件。尝试使用
el.error
来触发看看?或者你监听一下image
元素的所有事件然后看看图片加载失败触发的事件名是什么。