发布于 2018-02-22 00:11:16
您可以尝试通过JSON stringify来调用所有的getter:
console.log(JSON.parse(JSON.stringify(myObj)));
发布于 2017-08-31 06:28:18
问题是,调用getter可能会有副作用,例如
class Dog {
get paws() {
console.log('paws!'); //side effect
this.paws++; // side effect
if(this.paws > 4) {
throw Error('oh no'); // side effect
}
return this.paws;
}
}当您尝试调试应用程序时,每个getter都可以改变应用程序的状态或破坏它。这就是DevTools要求您手动调用这些getter的原因。即使你的getter返回一个静态值,DevTools也无法知道。
如果您确实希望调用所有getter并快速了解这些值,您可以为自己创建一个helper:
class Dog {
get _debug() {
return {
paws: this.paws,
//...
};
}
}这将添加一个新的getter,它将为您调用所有其他getter,并通过一次单击(而不是n次单击)为您提供它们的值。
https://stackoverflow.com/questions/45968614
复制相似问题