rx js доступ к значению объекта по ключу - PullRequest
0 голосов
/ 02 февраля 2020

У меня есть наблюдаемая, представляющая собой массив объектов с парами ключ-значение.

Я могу получить доступ к первому элементу этого массива:

const source = this.store.select('news').pipe();
    const element = source.subscribe(val => console.log(val.news[0]));

Он регистрирует Мне нужно правильно отобразить объект в консоли.

Если я попытаюсь зарегистрировать только newsId по

const source = this.store.select ('news'). pipe (); const element = source.subscribe (val => console.log (val.news [0] .newsId));

Я получаю сообщение об ошибке "Не удается прочитать свойство 'newsId' из неопределенного".

Как объект может быть определен как единое целое, но если я пытаюсь получить доступ к объекту, он говорит мне, что он не определен?

1 Ответ

0 голосов
/ 02 февраля 2020

Причин может быть несколько.

  • Возможно, первый элемент массива новостей изначально не содержит поля newsId, а затем напечатанные в консоли новости [0] позже обновляются по ссылке
  • Возможно, массив новостей содержит некоторые значения undefined вместе с действительными новостями.

Итак, сначала попробуйте зарегистрировать весь массив val.news и убедитесь, что все элементы этого массива определены. Также убедитесь, что все события, поступающие из этого Observable, соответствуют ожидаемым.

В любом случае pipe() необходим только в том случае, если вы планируете использовать некоторые операторы rx js, в противном случае это не так. в этом есть какой-то смысл (на самом деле это может запутать новичков).

...