captain-ui
Version:
有赞vue wap业务组件库
38 lines (32 loc) • 792 B
JavaScript
var count = 0;
function loadImg(el, url) {
var img = new Image(); // eslint-disable-line
var setUrl = function setUrl(imgUrl) {
if (el.tagName.toLowerCase() === 'img') {
el.setAttribute('src', imgUrl);
} else {
el.style.backgroundImage = "url(" + imgUrl + ")";
}
};
return new Promise(function (r) {
img.onload = function () {
setUrl(url);
r();
};
img.onerror = function () {
setUrl();
r('https://img.yzcdn.cn/upload_files/no_pic.png');
};
img.src = url;
});
}
export default {
bind: function bind(el, binding) {
var target = el.querySelector('div[data-src]');
var imgUrl = target.dataset.src;
loadImg(target, imgUrl).then(function () {
count++;
binding.value(count);
});
}
};