我正在使用 lightning 网页组件和顶点类。这对我来说是新的。
我正在尝试获取由Apex类生成的Proxy object的内容。
但是当我在控制台记录它时,我得到了这样的结果:
Proxy { <target>: {}, <handler>: {…} }
这是我的LWC组件:
import { LightningElement, track, wire } from "lwc";
import getAllActiveAccounts from "@salesforce/apex/AccountsController.getAllActiveAccounts";
export default class HelloWorld extends LightningElement {
@wire(getAllActiveAccounts) accounts;
@track foo;
click() {
console.log("Show Proxy object accounts ", this.accounts); // Show Proxy object
console.log("Foo", this.accounts.name); // Show `undefined`
}
}
顶点类别:
public with sharing class AccountsController {
@AuraEnabled(cacheable = true)
public static List < Account > getAllActiveAccounts() {
return [SELECT Id, Name FROM Account LIMIT 10];
}
}
Html模板是一个按钮,单击时显示console.log
。
我想知道是否有可能显示apex类提供的名称?或者一种显示代理对象内容或可用键的方法。
4条答案
按热度按时间c6ubokkw1#
要打印代理对象,请用途:
要在某些函数上实际使用它,请使用以下命令:
owfi6suc2#
要获取可用密钥,可以在代理对象上使用
Object.key
&.data
。在您的情况下,您可以通过以下方式获得密钥:
vc9ivgsu3#
因此,您可以执行JSON.stringify(),而不是记录Proxy对象:
另一个很棒的技巧是使用自定义dev格式化程序:https://dev.to/daveturissini/debug-lightning-web-components-lwc-track-and-api-properties-using-chrome-dev-tools-formatter-49c5
此外,这个博客提供了很多好的建议:https://developer.salesforce.com/blogs/2019/02/debug-your-lightning-web-components.html
nwo49xxi4#
您还可以展开代理对象,展开处理程序对象,然后展开originalTarget对象以查看实际对象