vue 监听数组变化时,报undefined错误

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;
                    }
                    
                }
            }
        },
阅读 3.5k
1 个回答

疑似箭头函数导致this指向丢失了,换用function试试

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题