Я создаю базовое веб-приложение для отслеживания запасов с помощью Angular, и у меня возникла проблема. Я хочу, чтобы на моей главной странице немедленно отображались самые последние данные инвентаризации. Приложение находится в зачаточном состоянии, поэтому данные инвентаризации поступают в него через фиктивный список инвентаря, как показано здесь:
import { Inventory } from './inventory';
export const INVENTORY: Inventory[] = [
{ item: 'generic', type: 'sticker', count: 14 },
{ item: 'sonny', type: 'pti', count: 9 },
{ item: 'ribbon', type: 'pti', count: 4 },
{ item: 'sonny', type: 'box', count: 56 },
{ item: 'generic', type: 'box', count: 6 },
{ item: 'salad', type: 'box', count: 12 },
{ item: 'foam', type: 'other', count: 39 },
{ item: 'glue', type: 'other', count: 41 },
{ item: 'twine', type: 'other', count: 2 }
];
Список содержит атрибут типа, чтобы впоследствии можно было фильтровать его по типу.
Чтобы отобразить этот список, я использую HTML-код следующим образом:
<ul class="inventory">
<h3>Stickers</h3>
<li *ngFor="let item of inventory">
<a *ngIf="item.type === 'sticker'>
<span class="badge">{{item.item}}</span> {{item.count}}
</a>
</li>
</ul>
Как видите, я создаю элемент списка и вызываю * ngFor = "let item of инвентарь"перебирать весь список. Далее * ngIf проверяет, является ли тип элемента «наклейка», и если это так, он записывает переменные item.item и item.count на дисплей. Span class = "badge" предназначен только для форматирования css.
Проблема в том, что при этом отображаются пустые атрибуты css для каждого элемента в списке и заполняются те, где type === 'sticker'. Я хочу отображать только те элементы, которые имеют тип = стикер, а остальные сделать невидимыми. Вы можете видеть, что я имею в виду на изображении ниже.
Веб-вывод, показывающий элементы списка в формате css для всех элементов и заполнение только элементов списка с типом === 'sticker'
Как я могу это сделать?