为什么我的 LWC 中的 console.log 在代理处理程序中显示变量数据

问题描述 投票:0回答:3

我正在尝试

console.log
变量的值,但在浏览器控制台上,我没有打印变量(在我的例子中是一个对象),而是得到一个格式如下的代理容器
Proxy {}[[Handler]]: En[[Target]]: Array(0)[[IsRevoked]]: false

打开

[[Handler]]
时,我得到一些内部属性,其中包含
originalTarget
属性。 展开
originalTarget
时,会显示我的数据。

如何让这些数据在控制台中正确显示并在我的 LWC 中访问它?

this.variableName returns value in a Proxy

javascript salesforce lwc sfdc
3个回答
1
投票

如果您想查看代理数据,请使用此:

JSON.stringify(this.caseList)

如果您想在 lwc 中使用它,请使用以下命令:

let cases = JSON.parse(JSON.stringify(this.caseList))
console.log(cases);

希望以上解决方案对您有所帮助。如果是,请将其标记为最佳答案,以帮助其他人。


0
投票

为什么我们不能直接获取值,而是使用 JSON 方法?我看到大多数人都直接获取值,而不需要使用 JSON 方法


-1
投票

原因:每当我们将任何 Javascript 对象标记为 @track 时,Salesforce 都会将该对象包装在创建代理对象中。

解决方案:@Rajat Jaiswal 回答。

© www.soinside.com 2019 - 2024. All rights reserved.