首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Chrome开发人员工具调用属性Getter

Chrome开发人员工具调用属性Getter
EN

Stack Overflow用户
提问于 2017-08-31 03:48:28
回答 2查看 6K关注 0票数 27

我的所有属性值都要求我单击它们才能看到它们。我该如何解决这个问题呢?

我尝试查看的对象是这个Query Object。它似乎对我试图查看的大多数Arcgis对象都是这样做的。

EN

回答 2

Stack Overflow用户

发布于 2018-02-22 00:11:16

您可以尝试通过JSON stringify来调用所有的getter:

console.log(JSON.parse(JSON.stringify(myObj)));

票数 6
EN

Stack Overflow用户

发布于 2017-08-31 06:28:18

问题是,调用getter可能会有副作用,例如

代码语言:javascript
复制
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:

代码语言:javascript
复制
class Dog {
 get _debug() {
  return {
    paws: this.paws,
    //...
  };
 }
}

这将添加一个新的getter,它将为您调用所有其他getter,并通过一次单击(而不是n次单击)为您提供它们的值。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45968614

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档