我在组件道具中有一个对象,我将其称为data
。该对象是动态更新的。但是,当我尝试获取data
对象的属性时,会出现问题,即使对象已更新,它也会从该对象返回旧数据。
例如console.log(data)
返回
{
items: [{name: "NEW NAME"}]
}
但是,当我尝试直接访问属性时情况并非如此,因为console.log(data.items[0].name)
返回"OLD NAME"
。
我很确定组件会更新,因为对象包含新数据。问题在于它会渲染旧名称。
另一个细节是它返回以前的名称,例如,如果我传递新数据,console.log(data)
返回
{
items: [{name: "EVEN NEWER NAME"}]
}
而console.log(data.items[0].name)
将返回"NEW NAME"
。
如果需要,我会很乐意提供更多信息。
答案 0 :(得分:1)
每次在浏览器的dev工具中更改对象的值时都会对对象进行评估。因此,即使在console.log运行时对象是{name:“ OLD NAME”},它的值也会在以后更新并显示{name:“ NEW NAME”}
但是,当您控制台data.items [0] .name时,它将返回字符串“ OLD NAME”,稍后它不会在Dev工具中自动评估。我建议将其呈现在页面上,而不是使用控制台来检查它是否正确更新