当前位置: 首页 > 知识库问答 >
问题:

角4-条件*ngfor每3个元素显示一次

叶华皓
2023-03-14
for(let i=0; i<array.length; i=i+3)...
<md-card class="cardContainer" *ngFor="let viz of visualisationList; let i = index">
    <md-card-header>
        <md-card-title>{{ viz['Title'] }}</md-card-title>
        <md-card-subtitle>Datasets: {{ viz['Datasets'] }}</md-card-subtitle>
    </md-card-header>
</md-card>

在ngFor循环中有没有一种简单的方法可以做到这一点?我可以使用ngInit()中的typescript预过滤到3个数组中,也可以使用ngIf和一个模函数,但我希望我可以直接在ngFor循环中进行。

共有1个答案

燕扬
2023-03-14

在我看来,最简单也是最干净的方法是使用array.filter和getter在组件逻辑中过滤数组,如下所示:

public get filteredArray() {
    return this.array.filter((value, index) => index % 3 === 0);
}

并将筛选后的数组用于NGFOR

注意:如果您的数组作为输入修饰为undefined,则应该使用空数组初始化它,或者在使用filter方法之前检查getter中是否未定义。

 类似资料:
  • 我正在使用Swagger为Apache CXF RESTful API生成文档。我有 xsd 并且 DTO 是使用 xjc 插件从 xsd 生成的。我希望 swagger 在 swagger 的响应类 - 模型部分下显示 xsd 中每个元素的文档。 我无法控制生成的DTO,因为它是跨多个项目共享的。我不能像某些示例中建议的那样使用swagger注释来注释DTO对象。

  • 我有一些代码使用聚合物属性e <代码> polymer的工作方式是,我不能简单地说<code>force-shorrow=“false”,如果我想禁用该属性,必须将其完全删除。在Angular2中是否有方法有条件地删除整个属性?我似乎找不到关于这个话题的任何信息。我可以使用并重复整个元素,包括属性和不包括属性,但如果可能的话,我宁愿不这样做。谢谢 编辑 - 为什么将此问题标记为重复并关闭?我在有问

  • 我有一个问题隐藏和显示一个元素取决于一个布尔变量在角2。 这是div要显示和隐藏的代码: 变量已“编辑”,并存储在我的组件中: 元素是隐藏的,当saveTodos函数启动时,会显示元素,但3秒钟后,即使变量返回为false,元素也不会隐藏。为什么?

  • 本文向大家介绍aurelia 有条件地显示和隐藏HTML元素,包括了aurelia 有条件地显示和隐藏HTML元素的使用技巧和注意事项,需要的朋友参考一下 示例 使用时show.bind,元素保留在页面中,并且通过使用场景display:none或display:block在场景后隐藏或可见。            

  • 问题内容: 如何只显示第一个角元素? 我正在这样使用: 但是由于我没有重复,所以我不必使用吗?我如何才能只显示第一个,而不必进行ng-repeat? 问题答案: 不要使用ng-repeat指令,这应该可以工作: