方式一、Vue.extend,使用基础Vue构造器,创建一个子类
import LoadingComp from ‘@/components/loading’
const LoadConstruncor = Vue.extend(LoadingComp)
const instance = new LoadConstruncor()
Instance.$mount(document.createElement(‘div’))
document.body.appendChild(instance.$el)
Vue.prototype.$showLoading = () =>{
Instance.msg = msg
Instance.theloading = true
}
Vue.prototype.$hideLoading = () => {
instance.theLoading = false
}
方式二、new Vue() 借鸡生蛋
function create(Copponent, props){
Const vm=new Vue({
render:(h)=>h(component,{props})
}).$mount()
Document.body.appendChild(vm.$el)
Const instance = vm.$children[0]
Comp.remove=()=>{
document.body.removeChild(vm.$el)
Vm.destroy()
}
Return comp
}