mat-list для отображения нескольких элементов
У меня есть файл машинописного текста, содержащий постоянные данные, как показано ниже:
export const HELPERS: Helper[] =
[
{
id: '0',
name: 'Joan',
image: '/assets/images/img.png',
designation: 'Chief',
abbr: 'TO',
description: 'testing data'
},
// few more items
];
Я пытаюсь перебрать это содержимое и продемонстрировать его в своем component.html, используя mat-List. Я пытаюсь показать изображение слева, имя под этим описанием. Подобно этому для всех данных, определенных в константе. Я пробовал вот так, но результата не добился.
<div fxFlex>
<h2>Helpers</h2>
<mat-card *ngIf="helper" fxFlex></mat-card>
<mat-list>
<mat-list-item *ngFor="let helper of Helpers">
<img matListAvatar src="{{helper.image}} " alt="...">
<h3 matLine> {{helper.name}} </h3>
<p matLine>
<span> {{helper.abbr}} </span>
<span class="demo-2"> -- {{helper.description}} </span>
</p>
</mat-list-item>
</mat-list>
</div>
Как в опции mat-List показать данные друг под другом?
Update1: у меня есть класс Helper в файле helper.ts. Я создал новую константу под названием HELPERS на основе класса Helper в файле с именем Helpers.ts и экспортировал ее. Создайте новую службу с именем helper, которая предоставляет подробную информацию о помощниках. Я могу получить данные для одного человека, если попробую таким образом:
<mat-card *ngIf="helper" fxFlex>
<mat-card-header>
<div mat-card-avatar></div>
<mat-card-title>
<h3>{{helper.name | uppercase}}</h3>
</mat-card-title>
</mat-card-header>
</mat-card>
Проблема здесь в зацикливании, которое я не могу правильно понять.
2 ответа
Возможно, вы хотите добавить свойство с именем Helpers
в файле компонента ts, который используется в ngFor
:
Helpers: Helper[] = HELPERS;
HTML-код правильный, но в вашем машинописном тексте константа HELPERS должна называться "Helpers". Это чувствительно к регистру.
Также не забудьте импортировать MatListModule из @angular/material/list в свой модуль приложения.