【发布时间】:2020-08-13 23:50:00
【问题描述】:
我创建了一个应用程序来显示来自 JSON 的元素。 我在一个大数组中有 1500 多个项目,还有一个包含按类别排序的项目的数组。
const fullDataSet = [{name: 'Foo', category: 'vegetable'}, {name: 'Bar', category: 'fruit'}];
const = sortedByCategory = [
[{name: 'Foo', category: 'vegetable'}, {name: 'FooBis', category: 'vegetable'}],
[{name: 'Bar', category: 'fruit'}, {name: 'Baz', category: 'fruit'}]
];
我已经实现了一个过滤器来按每个项目中的属性进行搜索,它在我的 *ngFor 上运行。
问题是我还需要按类别对项目进行排序,每个类别都有一个标题。
我现在有 2 个循环,一个用于 sortedByCategory 数组中的每个类别,一个用于一个类别中的每个项目。
问题是,如果我过滤的结果是空的,类别名称还在。
如何构造我的代码,以便仅当嵌套的 ngFor 循环在过滤器之后有元素时才会出现类别名称? 嵌套循环和过滤器的想法是必要的,还是可以以更高效的方式实现?
【问题讨论】:
-
你可以在应用here看到问题,如果你搜索一个随机字符串,所有的类别名称都还在。我尝试将主题传递给过滤器,但它似乎效果不佳,我想知道是否可能我的方向不正确。