*ngFor объект подмассива - Angular + Firebase
Я пытаюсь использовать простой ngFor
но я имею дело с одной проблемой.
объект
export class Post {
$key: string;
title: string;
subtitle: string;
postedBy: string;
imageUrl: string;
paragraphs: [] = [];
}
я намерен использовать следующее HTML
код:
<p *ngFor="let p of databaseService.selectedPost[0].paragraphs">a</p>
это означает, что я хочу показать один абзац за абзац моего объекта, но я получаю эту ошибку:
ОШИБКА Ошибка: не удается найти другой поддерживающий объект '[object Object]' типа 'object'. NgFor поддерживает только привязку к итерациям, таким как массивы.
Я пытался использовать console.log(this.selectedPost[0].paragraphs.p1);
являющийся p1
там первый из моих абзацев, и это на самом деле работает, но я не могу сделать это из HTML
(он имеет p1, p2, p3.. как имена). Следующая картинка показывает console.log
Это объект в базе данных:
Как я мог это сделать?
1 ответ
По звукам вещей, databaseService.selectedPost[0].paragraph
это объект, как вы сказали, вы можете получить прямой доступ p1
,
Я пытался использовать console.log(this.selectedPost[0].paragraphs.p1); будучи p1 там первым из моих абзацев, и это на самом деле работает
Если это так, вы можете использовать Angular KeyValuePipe для перебора с *ngFor
Рабочий пример будет выглядеть так:
<p *ngFor="let paragraph of databaseService.selectedPost[0].paragraphs | keyvalue">{{ paragraph.value }}</p>