如何解决当我从数组中选择console.log的特定元素时,我可以看到所有属性当我console.log整个数组时,缺少对象属性
不确定发生了什么。我正在通过axios发出GET请求,如下所示:
async getUserServers({commit,state,dispatch},userId){
try {
let response = await axios.get("/servers/" + userId)
console.log(response.data.servers)
console.log(response.data.servers[0].rooms[0].messages[0].user)
} catch (error) {
console.log(error)
}
},
您可以看到我同时console.log()
:
console.log(response.data.servers)
console.log(response.data.servers[0].rooms[0].messages[0].user)
第二个console.log()返回以下内容:
{
"id": 1,"username": "Test","email": "test@abv.bg","image": "test.png","createdAt": "2020-08-12T21:09:58.000Z","updatedAt": "2020-08-12T21:09:58.000Z"
}
但是当我console.log(response.data.servers)
并通过控制台导航到response.data.servers[0].rooms[0].messages[0].user
时,看不到名为messages[0]
的{{1}}属性。
此外,当我尝试渲染user
内部内容时,我得到的是空div并且没有错误。
有趣的是,每当刷新页面时,我都能看到response.data.servers[0].rooms[0].messages[0].user
的预期内容在消失前经过了毫秒的渲染。如果我保持垃圾邮件的刷新状态,那么我可以清楚地阅读所有内容。
完整代码:
response.data.servers[0].rooms[0].messages[0].user
Vuex突变:
async getUserServers({commit,userId){
try {
let response = await axios.get("/servers/" + userId)
let servers = response.data.servers
commit('setServers',servers) <-- The messages[0].user property disappears because of this
} catch (error) {
console.log(error)
}
},
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。