<div id="dynamic-component-demo" class="demo"> <blog-post v-for="post in posts" v-bind:key="post.id" v-bind:post="post" ></blog-post> </div> <script> Vue.component('blog-post', { props: ['post'], template: ` <div class="blog-post"> <h3>{{ post.title }}</h3> <div v-html="post.content"></div> </div> ` }) new Vue({ el: '#dynamic-component-demo', data: { posts: [{id:1,title:'aa',content:'22'}, {id:2,title:'bb',content:'33'}] } }) </script>