Angular *在递增索引的同时迭代相同参数的ngFor指令

Angular *在递增索引的同时迭代相同参数的ngFor指令,angular,Angular,我面临着一个角度的问题。基本上,我是在一个数组和索引中循环。 当我在特定条件下输入时,我希望在索引通常递增的情况下迭代相同的参数两次 HTML <div class="row"> <div class= "col-md-6" *ngFor="let p2 of params | orderBy: 'positionInGroup'; let i = index"> <div class="row" *ngIf="!p2.isHidden">

我面临着一个角度的问题。基本上,我是在一个数组和索引中循环。 当我在特定条件下输入时,我希望在索引通常递增的情况下迭代相同的参数两次

HTML

<div class="row">
   <div class= "col-md-6" *ngFor="let p2 of params | orderBy: 'positionInGroup'; let i = index">
     <div class="row" *ngIf="!p2.isHidden">
         <!--display something -->
     </div>
     <div class="row" *ngIf="p2.isHidden">
          <!--when is hidden I want to iterate the same p2 of this loop
              while 'i' increments by 1 as usual-->
     </div>
</div>


基本上,在这种情况下,我想迭代相同的参数p2两次。我该怎么做呢?

ngFor只是一个循环构造,如果您想转换正在循环的数据,最好在开始在模板中循环之前进行转换。这可以通过添加这样的属性并在其上循环来实现:

get transformedParams() {
    result = [];
    for (param of this.params) {
        result.push(param);
        if (param.isHidden) { 
            result.push(param)
        }
    }
    return result;
}

这样,对于
params
中的每个唯一项,索引将正常递增,但由于
params
中的每个项都被添加到
transformedParams
两次,因此您将对同一对象进行两次迭代。这应该允许您在模板中不需要复杂的逻辑就可以做您想做的事情。

ngFor只是一种循环构造,如果您想转换正在循环的数据,最好在开始在模板中循环之前进行转换。这可以通过添加这样的属性并在其上循环来实现:

get transformedParams() {
    result = [];
    for (param of this.params) {
        result.push(param);
        if (param.isHidden) { 
            result.push(param)
        }
    }
    return result;
}

这样,对于
params
中的每个唯一项,索引将正常递增,但由于
params
中的每个项都被添加到
transformedParams
两次,因此您将对同一对象进行两次迭代。这应该允许您在模板中不需要复杂的逻辑就可以做您想做的事情。

类似params[index+1]的东西可以解决您的问题吗?如果无法解决,您可以指定更多细节吗?ngFor不是这样工作的。如果你想循环你的iterable的一个转换版本,在循环之前先转换它?我不明白。当您找到一个隐藏的时,是否要重复
p2
?否!基本上,例如,当我在index=1处迭代参数时,我面对p2.ishiden,在下一个循环中,我不想迭代下一个p2,但在index=2@leonardogutulioyes@reactularsomething类似于参数[index+1]的情况下,迭代这个循环的同一个p2。解决问题了吗?如果无法解决,您可以指定更多细节吗?ngFor不是这样工作的。如果你想循环你的iterable的一个转换版本,在循环之前先转换它?我不明白。当您找到一个隐藏的时,是否要重复
p2
?否!基本上,例如,当我在index=1处迭代参数时,我面对p2.ishiden,在下一个循环中,我不想迭代下一个p2,而是在index=2@leonardogutulioyes@reactular时迭代这个循环的同一个p2