vivo-ui
Version:
vivo ui component lib for vue
45 lines (41 loc) • 1.43 kB
JavaScript
import _defineProperty from 'babel-runtime/helpers/defineProperty';
import _Object$assign from 'babel-runtime/core-js/object/assign';
import { prefixed } from '../../tools/prefix/index';
var durationName = prefixed('transitionDuration');
var index = {
inserted: function inserted(el, binding) {
el.tempImg = new window.Image();
el.tempImg.onload = function () {
el.setAttribute('src', this.getAttribute('src'));
_Object$assign(el.style, _defineProperty({
opacity: 0
}, durationName, '0s'));
clearTimeout(el.tempId);
el.tempId = setTimeout(function () {
_Object$assign(el.style, _defineProperty({
opacity: 1
}, durationName, '1s'));
}, 17);
};
el.tempImg.onerror = function () {
el.setAttribute('src', el.getAttribute('data-error-src'));
_Object$assign(el.style, _defineProperty({
opacity: 0
}, durationName, '0s'));
clearTimeout(el.tempId);
el.tempId = setTimeout(function () {
_Object$assign(el.style, _defineProperty({
opacity: 1
}, durationName, '1s'));
}, 17);
};
// 显示loading图
el.setAttribute('src', el.getAttribute('data-loading-src'));
// 加载图片
el.tempImg.src = binding.value;
},
update: function update(el, binding) {
binding.value !== binding.oldValue && (el.tempImg.src = binding.value);
}
};
export default index;