UNPKG

vivo-ui

Version:

vivo ui component lib for vue

45 lines (41 loc) 1.43 kB
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;