JSFiddle - React, Tailwind, and code Playground

HTML

<div id="app">
<post-feed></post-feed>
</div>

JavaScript

let Post = Vue.extend({
  props: {
  	onClicked: Function,
    postId: Number
  },
  template: `
      <div>
        <button @click="clicked">Click me</button>
      </div>
    `,
  methods: {
    clicked() {
    	this.onClicked({
      	id: this.postId
      });
    }
  }
});

let PostsFeed = Vue.extend({
  data: function() {
    return {
      posts: [1, 2, 3]
    }
  },
  template: `
      <div>
        <post v-for="post in posts" :postId="post" :onClicked="clicked" />
      </div>
    `,
  methods: {
    clicked(event) {
      alert(event.id);
    }
  },
  components: {
    post: Post
  }
});

new Vue({
  el: '#app',
  components: {
    'post-feed': PostsFeed
  }
});