Vue.js: создание функционального компонента программно - PullRequest
0 голосов
/ 20 декабря 2018

когда я создаю экземпляр функционального компонента с использованием этого кода

const Component_Constructor = Vue.extend(Component);
let component_instance = new Component_Constructor();
component_instance.$mount();

компонент получает неопределенный context аргумент в функции render

как я могу передатьпараметры (реквизиты, слоты, потомки, ...) для компонента?

1 Ответ

0 голосов
/ 22 декабря 2018

Единственный обходной путь, который я нашел, - это обернуть компонент 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;
...