作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我不明白为什么 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/
我不明白为什么 this.sendDrag('started') 返回这个错误: "Uncaught TypeError: this.sendDrag is not a function" met
我是一名优秀的程序员,十分优秀!