UNPKG

ui-template-muc

Version:

A fantastic mobile ui lib implement by Vue

34 lines (33 loc) 966 B
import {isArray} from '@utils/helpers' export default function instantiateComponent (Vue, Component, data, renderFn) { let renderData let childrenRenderFn const instance = new Vue({ render (createElement) { let children = childrenRenderFn && childrenRenderFn(createElement) if (children && !isArray(children)) { children = [children] } return createElement(Component, renderData, children || []) }, methods: { init () { document.body.appendChild(this.$el) }, destroy () { //component $destroy also invoke this.$destroy() document.body.removeChild(this.$el) } } }) instance.updateRenderData = function (data, render) { renderData = data childrenRenderFn = render } instance.updateRenderData(data, renderFn) instance.$mount() instance.init() const component = instance.$children[0] return component }