0

我有下表:

<ng-container *ngFor='let data1 of sectionList'>
        <tr>
            <td>
                {{data1.name}}
                <button (click)="ArrRow($event)" style="float: right" id="{{data1.id}}">+</button>
            </td>
        </tr>
        <tr *ngFor="let data2 of (model.Register10Data | filter:'sectionGroup':data1.id); let dataIndex = index">
            <td>
                {{data2.SomeNumericValue}}
            </td>
        </tr>
        <tr><td>Here I need to summing of the data2.SomeNumericValue</td></tr>
    </ng-container>

在此表中,我使用 @pipe 对数据进行分组。管道看起来像:

@Pipe({
    name: 'sectionGroup'
})

export class FilterPipe implements PipeTransform {
    transform(items: any[], field: number, value: number): any[] {
        if (!items) return [];
        return items.filter(it => (+it[field]) === (+value));
    }
}

这工作正常。

我需要data2.SomeNumericValue使用管道在 *ngFor 中得到渲染的总和。但是求和必须在 *ngFor 之外呈现。在上面的例子中,我写了它应该在哪里。真实表包含许多列和行。并且可以动态添加行。通过某些列,我想得到总和。我知道如何在单元格中编写函数和渲染结果。但我认为总和必须在 *ngFor 内部计算,因为它减少了迭代次数。但也许我错了。如何做到这一点,哪种方法最好?

4

0 回答 0