@YuriKiin

Можно ли программно отрендерить vue компонент передав шаблон и параметры?

можно ли как то запустить рендер vue компонента программно? Например,

const html = renderVueComponent('{{ name }}', {
name: "Vasya"
})

чтобы в константе html лежало Vasya, главное чтобы функция renderVueComponent принимала первым параметром шаблон компонента с поддержкой директив vue. Реально ли такое сделать на vue?
  • Вопрос задан
  • 44 просмотра
Пригласить эксперта
Ответы на вопрос 2
yarkov
@yarkov Куратор тега Vue.js
Помог ответ? Отметь решением.
Aetae
@Aetae Куратор тега Vue.js
Тлен
Vue работает с DOM, а не со строковым представлением.
Тупо смонтируй компонент в скрытый div и забери из него innerHTML.

Условно:
// версия с рантайм компилятором шаблонов
import { createApp } from 'vue/dist/vue.esm-bundler.js'; 

function renderVueComponent(template, data) {
  const div = document.createElement('div');
  
  createApp({
    template,
    data: () => data
  }).mount(div);

  return div.innerHTML;
}
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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