【发布时间】:2018-11-14 23:18:24
【问题描述】:
我想在 Angular 中列出所有组件属性(私有和公共)。
我已经尝试了以下
ngOnInit() {
console.log(this.constructor.prototype);
}
但这只是打印定义了getter 方法的属性。它不打印没有getters 或setters 的属性。它还打印组件methods,我不介意。
奇怪的是,它甚至没有显示公共属性(没有 getter)。
我也试过了
console.log(this.constructor.prototype.hasOwnProperty('_queryState'));
但它返回给我false,这意味着它无法识别该属性。
虽然这个question 对我没有帮助。
如何列出所有属性?
如果有人问我为什么需要这样做,那是为了进行单元测试。
【问题讨论】:
-
@Ric 仍然打印相同的结果。没有打印私有属性。
-
@TitianCernicova-Dragomir 不,但我在初始化私有属性后尝试打印它们。它仍然不存在于结果中
-
如果属性已初始化,如果您使用
Object.keys,它们将显示出来,它们不会出现在原型上,因为它们不存在它们是实例级字段
标签: angular unit-testing typescript properties