我在用vue和七牛实现一个多图片上传的功能,在vuex里定义了一个字典imgName
//state.js
imgName: {}, //上传的图片名称
在上传方法里面我生成了一个随机字符串timestamp
const timestamp = Math.random().toString(36).substring(2)
当从后端拿到图片名称后,将timestamp和图片名称放到imgName里面
//mutations.js
//设置上传图片的信息
setImgInfo(state, msg) {
state.imgName[msg.timestamp] = msg.key
},
结果我用timestamp从imgName里取出图片名时告诉我undefined,可是我打印imgName是有信息的啊
console.log(this.imgName)
console.log(`时间戳为${timestamp}的图片名:${this.imgName[timestamp]}`)
用
console.log(JSON.stringify(this.imgName));
看看打印结果是什么,我感觉this.imgName就是一个空对象...如果的确是空对象的话,为什么你
console.log(this.imgName)
却看到imgName不是空对象?那是因为,对象是引用类型的。你在console.log中试下下面这几行代码注意,这几行代码都输完后,再去点那个小三角,查看bar对象