function mountCmp (cmp, props, parent) { if (cmp.default) { cmp = cmp.default } cmp = Vue.extend(cmp) let node = document.createElement('div') parent.appendChild(node) new cmp({ // eslint-disable-line el: node, propsData: props, parent: this }) }
import('../components/title').then(cmp => { mountCmp.call(this, cmp, {title: 123456}, document.querySelector('.child-host')) mountCmp.call(this, cmp, {title: 123456}, document.querySelector('.child-host')) })
//title.vue
<template> <div class="title"> <div class="title-icon"></div> <div class="title-txt">{{title}}</div> <div class="title-dotline"> </div> </div> </template> <script> export default { props: ['title'] } </script>
function mountCmp (cmp, props, parent) {
cmp = Vue.extend(cmp.default)
let node = document.createElement('div')
parent.appendChild(node)
new cmp({ // eslint-disable-line
el: node,
propsData: props,
parent: this
})
}