Как перечислить все свойства компонента - PullRequest
0 голосов
/ 05 июня 2018

Я хочу перечислить все свойства компонента (как частные, так и публичные) в угловых значениях.

Я пробовал следующее

ngOnInit() {
    console.log(this.constructor.prototype);
}

Но это печать только свойств, которые имеют getter методы определены.Это не печать свойств, которые не имеют getters или setters.Он также печатает компонент methods, который меня не беспокоит.

Странная часть, он даже не отображает общедоступные свойства (у которых нет геттеров).

Даже я пытался делать

console.log(this.constructor.prototype.hasOwnProperty('_queryState'));

Но он возвращает мне false, что означает, что он не смог идентифицировать свойство.

Этот вопрос мне не помогает.

Как мне перечислить все свойства?

Если кто-то спросит меня, зачем мне это делать, это для модульного тестирования.

1 Ответ

0 голосов
/ 05 июня 2018

Вы можете использовать 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]);
}

Вот пример работающего стекаблика.

...