[Vuejs]-Vue.js cannot access method of component

0๐Ÿ‘

โœ…

If you want to call a method from another component you can use Event bus from Vue.js
The main idea is that you have to emit a global call in A component and receive it in B component using bus.$on

var bus = new Vue();

Vue.component('Increment', {
  template: "#inc",
  data: function() {
    return ({count: 0})
  },
  methods: {
    increment: function(){
      var increment = ++this.count
      bus.$emit('inc', increment)
    }
  }
})

Vue.component('Display', {
  template: "#display",
  data: function(){
    return {count: 0}
  },
  created: function(){
    bus.$on('inc', function(num){
       this.count = num    
  }.bind(this));
  }
})


vm = new Vue({
  el: "#example",
})

https://jsfiddle.net/emwcoy36/

Leave a comment