Вот сниппет, по сути компилирует хтмл с vue который пришел с сервера.
Просто так после инициализации vue работать не будет.
/**
* Компонент который может скомпилить хтмл строку с кастом компонентами внутри
* <dynamic-html template="<div title='sdff' @click='alert(123)'/>" />
*/
export default {
functional: true,
props: {
template: String,
data: { type: Object, default: () => ({}) }
},
render(h, context) {
const template = context.props.template;
const dynComponent = {
template,
data() {
return context.props.data;
}
};
const component = template
? dynComponent
: {
template: `<div>Loading...</div>`
};
return h(component);
}
};