angular - 如何使用 ngFor 连续迭代两个元素?

标签 angular typescript angular-material iteration angular-material2

我有一个字符串数组,我想用 ngFor 将它们中的每两个放在一行中。这是我尝试过的:

<div class='row wow fadeInUp' *ngFor='let index of myArray;let i = index;'>
     <div class='col-md-6'>
         <md-card>
            <md-card-header>
               <md-card-title>
                 {{index}}
               </md-card-title>
             </md-card-header>
          </md-card>
     </div>
     <div class='col-md-6' *ngIf='i+1 < myArray.length'>
         <md-card>
            <md-card-header>
               <md-card-title>
                 {{myArray[i+1}}
               </md-card-title>
             </md-card-header>
          </md-card>
    </div>
</div>

但是当我添加一个新元素时,它会复制之前的元素,我真的不明白原因。如何使用 ngFor 在每一行中添加两个元素?

最佳答案

您可以通过为 *ngIf 查找偶数(0,第一个索引是偶数)来跳过所有其他索引,并显示下一个即将被跳过(奇数)的项目:

<div class='row wow fadeInUp' *ngFor='let index of myArray; let i = index; let even = even'>
      <span *ngIf="even">
         <div class='col-md-6' >
             <md-card>
                <md-card-header>
                   <md-card-title>
                     {{myArray[i]}}
                   </md-card-title>
                 </md-card-header>
              </md-card>
         </div>
         <div class='col-md-6'>
             <md-card>
                <md-card-header>
                   <md-card-title>
                     {{myArray[i+1]}}
                   </md-card-title>
                 </md-card-header>
              </md-card>
        </div>
       </span>
    </div>

DEMO EXAMPLE

关于angular - 如何使用 ngFor 连续迭代两个元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47114498/

相关文章:

angular-material - 如何在两个flexbox之间设置空间

javascript - 发送自定义表单控件验证器 FormArray

javascript - 为特定类类型的数组创建 typescript 扩展

typescript - 如何在 ng2-table 中过滤多个列?

抽象类的具体子类的 typescript 类型

typescript - 如何将分离的 Koa-Router 与 Typescript 结合起来

html - 无法在 ngx-mat-select-search 上输入搜索

Angular Material 步进器更改图标颜色

angular - 如果 '<selector>' 是一个 Angular 组件,那么验证它是这个模块的一部分

angular - 如何在过滤器为空时显示叠加文本