繁体   English   中英

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

[英]Access method from event handler Vue.JS

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

在此处输入图片说明

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: [],
    }
  },
}

您正在改变的背景下this ,当你使用一个回调传递function的语法。 将其更改为es6箭头符号,它应该可以工作:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM