Javascript ngfor~ERROR TypeError:无法读取属性';中的自定义筛选管道;过滤器';未定义的
我正在研制一个用于ngFor循环的过滤器,遇到了一个错误和另一个问题 我的烟斗看起来很简单。我将传递一个id号的参数作为筛选依据,然后将其与一个对象属性进行比较:Javascript ngfor~ERROR TypeError:无法读取属性';中的自定义筛选管道;过滤器';未定义的,javascript,angular,Javascript,Angular,我正在研制一个用于ngFor循环的过滤器,遇到了一个错误和另一个问题 我的烟斗看起来很简单。我将传递一个id号的参数作为筛选依据,然后将其与一个对象属性进行比较: import { Pipe, PipeTransform } from '@angular/core'; @Pipe({ name: 'groupBy' }) export class GroupByPipe implements PipeTransform { transform(items: any, gro
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>
transform(items: [any], groupId: number ): any {
console.log(groupId);
if(items instanceof Array) {
return items.filter(items => items.storyFunnelStatusId === groupId);
}
return [];
}
{{column.name}
4.
{{item | json}}
有两个问题,第一个大问题是我遇到了控制台错误:error-TypeError:cannotread属性'filter'的undefined
第二个是,当我尝试console.log('groupId')
时,我得到了10个结果,而我应该只得到一个
我想在这里发牢骚:(
错误类型错误:无法读取未定义的属性“filter”
表示您在GroupByPipe
中的项
未定义,这意味着您向它传递了错误的参数
通过修改您的模板将修复它
错误类型错误:无法读取未定义的属性“filter”
表示您在GroupByPipe
中的项
未定义,这意味着您向其传递了错误的参数
通过修改您的模板将修复它
很酷,谢谢,这至少让过滤器工作了,这意味着我可以看到数据,但我仍然得到一个未定义的错误?@SandraWillford,这很简单。一些
undefine
检查可以解决它…我会更新答案。很酷,谢谢,这至少让过滤器工作了,这意味着我可以看到数据,但我仍然得到一个und定义错误?@SandraWillford这很简单。一些undefine
检查可以解决它…我会更新答案。
transform(items: [any], groupId: number ): any {
console.log(groupId);
if(items instanceof Array) {
return items.filter(items => items.storyFunnelStatusId === groupId);
}
return [];
}