mount-vue-component
Version:
a tiny utility to programatically create and mount Vue 3 components - e.g. a Vue.extend replacement
25 lines (17 loc) • 605 B
JavaScript
Object.defineProperty(exports, '__esModule', { value: true });
var vue = require('vue');
function mount(component, { props, children, element, app } = {}) {
let el = element;
let vNode = vue.createVNode(component, props, children);
if (app && app._context) vNode.appContext = app._context;
if (el) vue.render(vNode, el);
else if (typeof document !== 'undefined' ) vue.render(vNode, el = document.createElement('div'));
const destroy = () => {
if (el) vue.render(null, el);
el = null;
vNode = null;
};
return { vNode, destroy, el }
}
exports.mount = mount;
;