看起来,可以无dom就执行$mount,而且依然可以得到$el
import Vue from 'vue'
import videoPlayer from '@/components/common/videoPlayer.vue'
const VpConstructor = Vue.extend(videoPlayer)
let instance
const install = () => {
Object.defineProperty(Vue.prototype, '$vPlayer', {
get () {
const vPlayer = (options) => {
options.isVisible = true
instance = new VpConstructor({
propsData: options
})
instance.vm = instance.$mount()
document.body.appendChild(instance.vm.$el)
return instance.vm
}
return vPlayer
}
})
}
export default install
Vue中import的component到底是什么
这里PreviewGround是个组件,需要注册在其他父组件中才能显示:
import PreviewGround from './subs/PreviewGround'
也可以将组件单独实例化:
let Pvm = new Vue.extend(PreviewGround).$mount()
看起来,可以无dom就执行$mount,而且依然可以得到$el