计算复杂表中值的总和的最佳方法是什么?

时间:2017-02-15 23:12:44

标签: angular typescript optimization ngfor angular-pipe

我有下表:

<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内计算,因为它减少了迭代次数。但也许我错了。怎么做以及哪种方法最好?

0 个答案:

没有答案