当我使用此代码实例化功能组件时
const Component_Constructor = Vue.extend(Component);
let component_instance = new Component_Constructor();
component_instance.$mount();
该组件在context
函数上获得未定义的render
自变量
如何将参数(道具,插槽,子代...)传递给组件?
答案 0 :(得分:1)
到目前为止,我发现的唯一解决方法是将functional
组件包装到另一个常规组件中,如下所示:
let AComponent = {
functional: true,
name: 'a-component',
render(h, context) {
return h('div', context.children[0].text);
}
};
let template = `<a-component>test content</a-component>`;
let WrapperComponent = Vue.extend({
components: {AComponent},
template,
});
let componentInstance = new WrapperComponent().$mount();
let content = componentInstance.$el;
答案 1 :(得分:0)
正如 vuejs 核心团队之一所说的https://forum.vuejs.org/t/functional-component-with-vue-extend/40752,您不能手动挂载功能组件。
$mount() 需要一个 vue 实例,而功能组件没有。