Angular2:FilterPipe:无法读取未定义的 属性 'filter'
Angular2: FilterPipe : Cannot read property 'filter' of undefined
我一直在尝试为我的项目构建一个过滤器 Pipe,它通过字符串数组进行过滤。它正在工作,但我仍然遇到错误。我不知道这是为什么?我也想问问有没有办法让过滤器更通用,这样我就可以用它来处理其他字符串。
这是管道:
import { Pipe, PipeTransform } from '@angular/core';
import {Afdelingen} from "../models";
@Pipe({
name: 'filter'
})
export class FilterPipe implements PipeTransform {
transform(afdeling:Afdelingen[]) {
return afdeling.filter(afd => afd.afdelingsNaam == 'pediatrie');
}
}
我的 HTML 只是为了测试,但在这里:
<div *ngFor="let afd of afdeling | filter">
{{afd.afdelingsNaam}}
</div>
我还添加了一张图片,您可以看到它正在运行,但我遇到了错误。
Error
编辑:通用搜索管道:
import { Pipe, PipeTransform } from '@angular/core';
import {Afdelingen} from "../models";
@Pipe({
name: 'filter'
})
export class FilterPipe implements PipeTransform {
transform(afdeling:Afdelingen[], value:string) {
if (!afdeling)
return afdeling;
return afdeling.filter(afd => afd.afdelingsNaam == value);
}
}
您可以在管道中添加此检查:
transform(afdeling:Afdelingen[]) {
if (!afdeling)
return afdeling;
return afdeling.filter(afd => afd.afdelingsNaam == 'pediatrie');
}
所以你摆脱了中断异常
import { Pipe, PipeTransform } from '@angular/core';
@Pipe({
name: 'filterbytag'
})
export class FilterbytagPipe implements PipeTransform {
transform(items: any[], searchText: string): any[] {
if (!items) return [];
if (!searchText) return items;
searchText = searchText.toLowerCase();
return items.filter(it => {
return it.toLowerCase().includes(searchText);
});
}
}
我一直在尝试为我的项目构建一个过滤器 Pipe,它通过字符串数组进行过滤。它正在工作,但我仍然遇到错误。我不知道这是为什么?我也想问问有没有办法让过滤器更通用,这样我就可以用它来处理其他字符串。
这是管道:
import { Pipe, PipeTransform } from '@angular/core';
import {Afdelingen} from "../models";
@Pipe({
name: 'filter'
})
export class FilterPipe implements PipeTransform {
transform(afdeling:Afdelingen[]) {
return afdeling.filter(afd => afd.afdelingsNaam == 'pediatrie');
}
}
我的 HTML 只是为了测试,但在这里:
<div *ngFor="let afd of afdeling | filter">
{{afd.afdelingsNaam}}
</div>
我还添加了一张图片,您可以看到它正在运行,但我遇到了错误。 Error
编辑:通用搜索管道:
import { Pipe, PipeTransform } from '@angular/core';
import {Afdelingen} from "../models";
@Pipe({
name: 'filter'
})
export class FilterPipe implements PipeTransform {
transform(afdeling:Afdelingen[], value:string) {
if (!afdeling)
return afdeling;
return afdeling.filter(afd => afd.afdelingsNaam == value);
}
}
您可以在管道中添加此检查:
transform(afdeling:Afdelingen[]) {
if (!afdeling)
return afdeling;
return afdeling.filter(afd => afd.afdelingsNaam == 'pediatrie');
}
所以你摆脱了中断异常
import { Pipe, PipeTransform } from '@angular/core';
@Pipe({
name: 'filterbytag'
})
export class FilterbytagPipe implements PipeTransform {
transform(items: any[], searchText: string): any[] {
if (!items) return [];
if (!searchText) return items;
searchText = searchText.toLowerCase();
return items.filter(it => {
return it.toLowerCase().includes(searchText);
});
}
}