Это более общий вопрос, но я надеюсь, что он кому-нибудь поможет. Добавьте динамический компонент в свой шаблон: <component v-bind:is="processedHtml"></component>
.
Затем добавьте вычисляемый метод:
computed: {
processedHtml () {
let html = this.html.replace('[Placeholder]', '<my-component></my-component>');
return {
template: '<div>' + html + '</div>'
}
}
}
Где <my-component>
- ваш пользовательский компонент, а this.html
- ваш HTML-контент, содержащий заполнитель [Placeholder]
.
Важно вернуть элемент с одним корневым узлом. Вот почему возврат обернут с <div>
.
Более подробное руководство по этой проблеме здесь, в моем блоге . Например, чтобы передать реквизит на <my-component>