Skip to content

Why isn't v-html rendering my components?

This answer is a stub.

We are still working on writing the answers to the FAQ questions. The answer below is incomplete, but you may still find it useful.

v-html just sets the innerHTML property of an element. Vue won't attempt to interpret the string as a template, it will just pass it on as is to the browser.

If you have the runtime template compiler enabled then you can do something like this instead:

template
<component :is="{ template: str }" />