<div id="blog-posts-events-demo">
<div :style="{ fontSize: postFontSize + 'em' }">
<blog-post
v-for="post in posts"
v-bind:key="post.id"
v-bind:post="post"
v-on:enlarge-text="postFontSize += 0.1"
></blog-post>
</div>
</div>
Vue.component('blog-post', {
props: ['post'],
template: `
<div class="blog-post">
<h3>{{ post.title }}</h3>
<div v-html="post.content"></div>
<button v-on:click="$emit('enlarge-text')">
Enlarge text
</button>
</div>
`
})
new Vue({
el: '#blog-posts-events-demo',
data: {
posts: [
{
title: 'haha', content: 'this is haha'
},
{
title: 'haha2', content: 'this is haha2'
}
],
postFontSize: 1
}
})
This Pen doesn't use any external CSS resources.