yyzone
Version:
yyzone vue components and utils
33 lines (31 loc) • 934 B
JavaScript
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()
}
}