HTML:
<div class="content-show-img"> <div class="show-img"> <img class="default-image" :src="data.image" @load="successLoadImg" @error="errorLoadImg"> </div> </div>
JS:
Vue.prototype.successLoadImg = function(event) { if (event.target.complete == true) { event.target.classList.remove("default-image");; var imgParentNode = event.target.parentNode; if(imgParentNode.classList.contains('show-img')==true){ imgParentNode.style.background = "#000"; } } }; Vue.prototype.errorLoadImg = function(event) { event.target.classList.add("default-image");; };
针对尺寸不统一的:先显示默认图片,加载成功时移除默认图片,填充背景。