我想以角度列出所有组件属性(私有和公共)。
我试过以下
object o = properties[i].GetValue(this);
string s = o as string;
if (string.IsNullOrEmpty(s))
{ /*...*/ }
但这只是打印定义了ngOnInit() {
console.log(this.constructor.prototype);
}
方法的属性。它不会打印没有getter
或getters
的属性。它还会打印组件setters
,我不会打扰它。
奇怪的是,它甚至没有显示公共属性(没有getter)。
即使我尝试过
methods
但它返回console.log(this.constructor.prototype.hasOwnProperty('_queryState'));
,这意味着它无法识别该属性。
这question对我没有帮助。
如何列出所有属性?
如果有人问我为什么需要这样做,那就是单元测试。
答案 0 :(得分:0)
您可以使用javascript Object.keys
:
let component = {a: 17, b: 'test', c: [17, 17, 17]};
let keys = Object.keys(component);
for(let key of keys) {
console.log('component[' + key + '] = ' + component[key]);
}