title: unable to use $off and passing parameters in eventbus in Vue
body: <p>In main.js i created the eventBus</p>
  
  <pre><code>Vue.prototype.$eventHub = new Vue()
  </code></pre>
  
  <p>And in component1</p>
  
  <pre><code>this.$eventHub.$emit('logged-in')
  </code></pre>
  
  <p>In component2, i tried this</p>
  
  <pre><code>  beforeMount () {
       this.$eventHub.$on('logged-in', function () {
         console.log("logged in")
       })
     },
     beforeDestroy() {
       this.$eventHub.$off('logged-in')
     }
  </code></pre>
  
  <p>It is not printing any thing in the console. If i remove <code>this.$eventHub.$off('logged-in')</code> it is working fine, but it is executing number of times that<code>$emit</code> is executed. What am i doing wrong here? why <code>$off</code> is not working?</p>
  
  <p>Unable to pass the <strong>parameters</strong> as well
  trying to send message using <code>$emit</code></p>
  
  <pre><code>this.$eventHub.$emit('logged-in', "some message")
  </code></pre>
  
  <p>in <code>$on</code></p>
  
  <pre><code>this.$eventHub.$on('logged-in', this.testEvent)
  </code></pre>
  
  <p>The test event method looks</p>
  
  <pre><code>    testEvent (params) {
        console.log(params)
      }
  </code></pre>
  
  <p>The params shows undefined.</p>
  
  <p>But if i do this, it is working fine</p>
  
  <pre><code>        this.$eventHub.$on('logged-in', (params) =&gt; {
            console.log(params)
          })
  </code></pre>
  
  <p>How can i pass parameters to the method?</p>