UNPKG

yyzone

Version:

yyzone vue components and utils

33 lines (31 loc) 934 B
import Vue from 'vue'; import Loading from '../components/base/loading/loading' import { t } from '../locale/' const Mask = Vue.extend(Loading) export default { bind: function (el, binding) { const textExr = el.getAttribute('yy-loading-text') let mask = new Mask({ el: document.createElement('div'), data: { visible: binding.value, instanceText: textExr || t('loading') } }) el.instance = mask el.mask = mask.$el el.appendChild(el.mask) el.instance.visible = !!binding.value; }, update: function (el, binding) { el.instance.visible = !!binding.value; }, unbind: function (el) { if (el.domInserted) { el.mask && el.mask.parentNode && el.mask.parentNode.removeChild(el.mask) } el.instance && el.instance.$destroy() } }