UNPKG

nimble-ui

Version:
54 lines (50 loc) 1.09 kB
/** * 弥补没有全局vlazy * * @export * @return {Object} */ export default function lazy() { return { bind: setSrc, inserted: setSrc, update: setSrc }; } /** * 格式化value参数 * * @param {*} el 元素 * @param {*} param 参数 */ function setSrc(el, param) { let val = param.value; let url = val; let opts = serializeModifiers(param.modifiers); let srcAttr = ((opts && opts.srcAttr) || 'src') + ''; let isBg = /background/i.test(srcAttr); if (val instanceof Object) { url = val.src; } if (isBg) { el.style.backgroundImage = 'url(' + url + ')'; } else { el[srcAttr] = url; } } /** * 序列化modifiers * @param {Object} modifiers 修饰符 * @return {Object} */ function serializeModifiers(modifiers) { let res = {}; if (modifiers) { if (modifiers.poster) { res.srcAttr = 'poster'; } else if (modifiers.background || modifiers.backgroundImage || modifiers.bg) { res.srcAttr = 'background'; } } return res; }