我在uni-app中写一下代码时出现问题[system]TypeError: Cannot read property 'push' of undefined
代码语言:javascript复制 data() {
return {
date: this.getDate(),
kind: ['养殖物异常', '设备异常', '偷盗', '野生动物', '灾害', '其他异常'],
kindIndex: 0,
detail: {},
done: false,
imageNames:[]
}
},
代码语言:javascript复制 loadImage(){
uni.chooseImage({
success: function(response){
for(let file of response.tempFilePaths){
let imageName=file.substring(file.lastIndexOf('/') 1);
this.imageNames.push(imageName);
}
}
})
}
明明是数组却没有push功能这是为何
原因是此时的this不再指向全局对象,而是指向该函数,改用箭头函数可以继续使用全局的this
代码语言:javascript复制 loadImage(){
uni.chooseImage({
success: (response)=>{
for(let file of response.tempFilePaths){
let imageName=file.substring(file.lastIndexOf('/') 1);
this.imageNames.push(imageName);
}
}
})
}