J'ai essayé de construire un filtre Pipe pour mon projet, qui filtre à travers un tableau de chaînes. Cela fonctionne, mais je reçois toujours une erreur. Je me demande pourquoi c'est? Je voudrais également demander s'il y a un moyen de rendre le filtre plus universel afin que je puisse l'utiliser pour d'autres chaînes.Angular2: FilterPipe: Impossible de lire la propriété 'filter' de undefined
Voici le tuyau:
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');
}
}
Mon HTML était juste pour le test, mais ici il va:
<div *ngFor="let afd of afdeling | filter">
{{afd.afdelingsNaam}}
</div>
J'ai aussi ajouté une image de sorte que vous pouvez le voir, il fonctionne, Pourtant, je reçois une erreur. Error
EDIT: tube de recherche universelle:
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);
}
}
La première fois que le filtre le tuyau est appelé, afdeling est probablement indéfini. Vous devez vérifier s'il y a de la valeur dans 'afdeling' dans votre pipe :) – Alex