#angular #angular-arrays
#angular #angular-массивы
Вопрос:
У меня есть родительский компонент и дочерние компоненты в моем проекте и массив объектов, вызываемых из API в родительском компоненте.
- Родительский компонент
public Questions = [];
ngOnInit(): void {
this.loadQuestions();
}
<div *ngIf="Questions ">
<app-child-card *ngFor="let item of Questions; index as i;" [data]="item" [index]="i" ></app-child-card>
</div>
- Дочерний компонент
@Input() data: any;
@Input() index: any;
ngOnInit(): void {
console.log(this.data, this.index);
}
Даже если мой массив вопросов пуст, дочерний компонент отображался точно три раза при каждой попытке и получал вывод undefined undefined
в консоли.
Комментарии:
1. Звучит странно. Я не вижу ничего плохого в опубликованном вами коде, мое лучшее предположение заключается в том, что ваш массив каким-то образом задан тремя неопределенными элементами. Вы пробовали записывать массив вопросов в консоль?
2. Не могли бы вы также опубликовать свой метод loadQuestions()?
Ответ №1:
пустой массив принимается в качестве true
условия, поэтому вам нужно изменить свое условие на *ngIf="Questions.length>0"