@robert_ford

Почему не удаётся зарегистрировать компонент?

В одном из Vue компонентов есть текст, в котором плейсхолдеры (последовательности символов ### или @@@) заменяются на соответствующий компонент.
computed: {
            processedHtml () {
                let html = this.content.replaceAll('###', '<b-form-input type="text" size="sm" :name="name"></b-form-input>').replaceAll('@@@', '<gap></gap>');
                return {
                    template: '<div>' + html + '</div>'
                }
            }
        }


В шаблоне (template) компонента:
<template>
  <component v-bind:is="processedHtml"></component>
</template>


Однако возникает ошибка
[Vue warn]: Unknown custom element: gap - did you register the component correctly? ...
found in
--->
at /src/components/Fill.vue
at /src/App.vue



Если в шаблоне (template) компонента попытаться напрямую отрендерить gap, то всё получится
<template>
<gap></gap>
</template>

В чём может быть причина подобного поведения?
  • Вопрос задан
  • 52 просмотра
Пригласить эксперта
Ответы на вопрос 1
yarkov
@yarkov Куратор тега Vue.js
Помог ответ? Отметь решением.
Вот этот пакет спасёт
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы