【发布时间】:2018-02-09 14:45:13
【问题描述】:
我正在开发一个用于 ngFor 循环的过滤器,但遇到了一个错误以及另一个问题。
我的管道看起来很简单。我正在传递一个 id 号的参数以进行过滤,然后将其与对象属性之一进行比较:
import { Pipe, PipeTransform } from '@angular/core';
@Pipe({
name: 'groupBy'
})
export class GroupByPipe implements PipeTransform {
transform(items: any, groupId: number ): any {
console.log(groupId);
items.filter(items => items.storyFunnelStatusId === groupId);
}
}
然后我的模板从前一个循环中获取 column.id 作为过滤器的参数:
<div class="board-container">
<div class="board-column" *ngFor="let column of columnNames">
<div class="board-heading">
{{ column.name }}
<span class="count">4</span>
</div>
<div id="column-{{ column.id }}" class="card-body">
<div *ngFor="let item of results | groupBy: column.id">
<pre>{{ item | json }}</pre>
</div>
</div>
</div>
</div>
两个问题,第一个大问题是我收到控制台错误:ERROR TypeError: Cannot read property 'filter' of undefined
第二个是当我尝试console.log('groupId') 时,我得到了 10 个结果,而我应该只得到一个。
要把我的头发拉出来:(
【问题讨论】:
标签: javascript angular