安装()中的VueJS错误“未捕获的TypeError:this.sendDrag不是函数”

时间:2019-04-30 20:01:21

标签: javascript vue.js vuejs2

我不知道为什么=SUMPRODUCT(--((A1:A28)+(B1:B28)<>0)*(C1:C28)) 返回此错误:

  

“未捕获的TypeError:this.sendDrag不是函数”

this.sendDrag('started')

什么原因导致错误以及如何解决?

1 个答案:

答案 0 :(得分:1)

您需要在闭包中捕获this的值,因为您是从具有不同this的函数中调用它的。

如果您使用箭头lambda表示法()=>{}而不是function(),它将为您自动捕获this。这就是两种表示法之间的真正区别。

mounted () {
        this.$nextTick(() => {
          const that = this;
          this.$refs.flickity.on('dragStart', function () {
            that.stageDragging = true
            that.sendDrag('started')
          })