Vue

HTML

<div id="app">
  <button @click="addHandler">Add Handler</button>
  <button @click="removeHandler">Remove Handler</button>
  <button @click="postMessage">Post message</button>
  </button>
</div>

Vue

new Vue({
  el: "#app",
  methods: {
  	addHandler: function() {
    	window.addEventListener('message', this.eventListenerExample);
    },
  	removeHandler: function(){
    	window.removeEventListener('message', this.eventListenerExample);
    },
    postMessage: function() {
    	window.postMessage("This is a message ");
		},
    eventListenerExample: function(event){
    	console.log(event, ' i am here');
    }
  },
  mounted: function () {
  	this.addHandler();
	},
  destroyed: function() {
  	this.remveHanlder();
  }
})