Vue.js Универсальный динамический рендеринг компонентов - PullRequest
2 голосов
/ 28 июня 2019

У меня есть компонент, который динамически рендерит компоненты, которые получают как реквизит

<template>
    <div>
        <component :is="component" :data="data" v-if="component" />
    </div>
</template>

<script>

export default {
    name: 'dynamic-component-renderer',
    props: ['data', 'type'],
    computed: {
        component() {
            if (!this.type) {
                return null;
            }
            return this.type;
        },
    }
}
</script>

Проблема заключается в импорте, мне нужен динамический импорт, я знаю, что могу выполнить динамический импорт с помощью веб-пакета следующим образом: () => import('./my-async-component'), но в моем случае мне не нужен lazyLoad.

Поэтому мне нужен общий фиктивный компонент (dynamic-component-renderer), который не будет знать, какие компоненты будут получать и динамически отображать.

...