vue-amap
Version:
36 lines (28 loc) • 761 B
JavaScript
import Vue from 'vue';
export const compile = (tpl, vm) => {
let keys = ['methods', 'computed', 'data', 'filters'];
let props = {};
let node = Vue.compile(tpl);
keys.forEach(key => {
props[key] = vm.$parent.$parent.$options[key];
if (key === 'data' && typeof props[key] === 'function') {
props[key] = props[key]();
}
});
let vNode = new Vue({
...props,
...node
});
vNode.$mount();
return vNode;
};
export const mountedVNode = (vn) => {
const instance = new Vue({render: (h) => h('div', vn)});
instance.$mount();
return instance;
};
export const mountedRenderFn = (renderFn, vueInstance) => {
const instance = new Vue({render: h => renderFn(h, vueInstance)});
instance.$mount();
return instance;
};