来自事件处理程序Vue.JS的访问方法

时间:2018-03-10 05:54:11

标签: javascript php events vue.js handler

我不知道如何解释它,但我只是想问为什么我不能从$ on事件处理程序执行getTransaction方法。控制台只会显示错误。

enter image description here

var transactioninfo = {
  template: `<p>hello</p>`,
  methods: {
    getTransaction: function() {
      alert('test')
    }
  },
  mounted: function() {
    event_broadcaster.$on('showSelected', function(payload) {
      this.transactioninfo.getTransaction();
    })
  },
  data () {
    return {
      Transaction: [],
    }
  },
}

1 个答案:

答案 0 :(得分:0)

使用this语法传入回调时,您正在更改function的上下文。将其更改为es6箭头符号,它应该工作:

event_broadcaster.$on('showSelected', (payload) => {
    this.getTransaction();
})