gpt4 book ai didi

vuejs2 - Vue js:_this。$ emit不是函数

转载 作者:行者123 更新时间:2023-12-03 21:16:40 26 4
gpt4 key购买 nike

我创建了一个Vue组件,调用imageUpload并将属性作为v模型传递

<image-upload v-model="form.image"></image-upload>

并且在imgeUpload组件内
我有这个代码

<input type="file" accept="images/*" class="file-input" @change="upload">

upload:(e)=>{

const files = e.target.files;
if(files && files.length > 0){
console.log(files[0])
this.$emit('input',files[0])
}
}


我收到了


未捕获的TypeError:_this。$ emit不是函数


谢谢

最佳答案

不要用粗箭头定义方法。用:

upload: function(e){
const files = e.target.files;
if(files && files.length > 0){
console.log(files[0])
this.$emit('input',files[0])

}
}


当使用粗箭头定义方法时,您将捕获词法作用域,这意味着 this将指向包含作用域(通常为 windowundefined),而不是Vue。

关于vuejs2 - Vue js:_this。$ emit不是函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43073797/

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