gpt4 book ai didi

javascript - VueJS 错误 "Uncaught TypeError: this.sendDrag is not a function"in mounted ()

转载 作者:行者123 更新时间:2023-11-30 14:03:13 25 4
gpt4 key购买 nike

我不明白为什么 this.sendDrag('started') 返回这个错误:

"Uncaught TypeError: this.sendDrag is not a function"

  methods: {
sendDrag (val) {
console.log(val)
}
[...]



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

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

最佳答案

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

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

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

关于javascript - VueJS 错误 "Uncaught TypeError: this.sendDrag is not a function"in mounted (),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55927940/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com