import i18n from '@/util/lang/lang' let dom = null async function asyncConstructor (Vue, comp) { if (!comp) { let component = await import('./index.vue') comp = Vue.extend(component.default) return comp } return comp } let packetGet = {} packetGet.install = function (Vue, store) { let instance Vue.prototype.$packetGet = async (info, isShowDetail) => { let Constructor = await asyncConstructor(Vue, dom) if (instance) { document.body.removeChild(instance.$el) instance = null } instance = new Constructor({ el: document.createElement('div'), computed: { $store () { return store } }, i18n, data () { return { visible: false, info, isShowDetail } } }) document.body.appendChild(instance.$el) } } export default packetGet