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 }" />