微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

当我从数组中选择console.log的特定元素时,我可以看到所有属性当我console.log整个数组时,缺少对象属性

如何解决当我从数组中选择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 举报,一经查实,本站将立刻删除。