vue 监听数组变化,并将数值赋值给oldArray时,oldArray提示undefined
在watch方法里,使用深度监听,监听newArray的变化,变化能监听到,但是将变化的值赋值给oldArray时,提示undefined
data (){
return {
downloadUrl: (function () {
return 'http://' + document.domain + ':38010'
})(),
oldImgs: this.$route.query.contractInfo,
rowkey: this.$route.query.rowkey,
copyLocalIds: [],
newImgs:[],
transLocalIds:[]
}
},
created (){
if (this.oldImgs && this.oldImgs.length > 0) {
this.oldImgs = this.oldImgs.split(';');
if (this.oldImgs[this.oldImgs.length-1] == '') {
this.oldImgs.pop();//删除最后一个元素
}
for (var i = 0; i < this.oldImgs.length; i++) {
this.oldImgs[i] = this.downloadUrl+"/contractInfo"+this.oldImgs[i];
}
}
},
watch :{
'newImgs':{
deep: true,
handler: (val,oldVal)=>{
console.log('老图片:'+this.oldImgs);
if (this.oldImgs.length>0) {
this.oldImgs = this.oldImgs.concat(val);
} else {
this.oldImgs = val;
}
}
}
},
疑似箭头函数导致this指向丢失了,换用function试试