Я хочу отобразить некоторые данные из json, но я не могу просто добавить смещение к индексу и показать все данные с определенного смещения, но получить
ERROR TypeError: Cannot read property 'id' of undefined
и текст в div не появляется.
Я уже пытался напрямую добавить фиксированный номер в HTML-файл, и он работает (см. Код ниже). Но когда дело доходит до использования переменной «смещение» (тип: число) из машинописного текста, которая должна обновляться вводом, тип возвращаемого значения становится неопределенным, и появляется ошибка. Я также попытался использовать метод в моем файле машинописного текста вместо добавления в html-файл и вернуть новый индекс, но он не работает и показывает ошибку. Я также попытался вызвать метод, используя {{addition(i,offset)}}
, и поместил результат в переменную, которую я использую в качестве индекса, но он все еще показывает ошибку.
Например, этот HTML-файл работает нормально:
<ng-container *ngFor="let article of data; let i = index">
<ng-container *ngIf="i<(nbElements)">
<div (click)="checkArticle(data[(i+3)].id)">
<p class="text-center"> {{data[(i+3)][dataKey]}}</p>
</div>
</ng-container>
</ng-container>
Div реагирует на мой щелчок, и появляется текст.
Однако этот HTML-файл не работает, даже если смещение установлено равным 3 (как HTML-код выше) с использованием входных данных в родительском компоненте:
<ng-container *ngFor="let article of data; let i = index">
<ng-container *ngIf="i<(nbElements)">
<div (click)="checkArticle(data[(i+offset)].id)">
<p class="text-center"> {{data[(i+offset)][dataKey]}}</p>
</div>
</ng-container>
</ng-container>
Появляется ошибка.
Смещение (тип: число) определено в моем файле машинописного текста таким образом, и оно изменяется родительским компонентом и может легко отображаться дочерним компонентом с помощью console.log(offset)
:
export class AppColumnComponent implements OnInit {
@Input() offset : number ;
Я ожидаю, что на выходе будут тексты, показывающие статьи моих данных json, но, поскольку я изменяю смещение с помощью такого ввода, data[(i+offset)]
В результате возникает ошибка, возможно, невозможно использовать другой индекс, используя другую переменную это фиксированное число?
Спасибо за вашу поддержку, это мой первый пост на stackoverflow, надеюсь, у меня все получилось! :)