我正在尝试创建一个自定义管道,我已正确地按照说明操作但是当我尝试过滤列表时它一直给我错误
这是我的管道代码
Storage storage;
switch (storageType) {
case "list":
storage = new StorageList();
break;
case "map":
storage = new StorageMap();
break;
case "db":
storage = new StorageDB();
break;
default:
throw new UnsupportedStorageTypeException();
}
这是我的界面
import { Pipe, PipeTransform } from '@angular/core';
import { Icandidat } from './candidat/icandidat';
@Pipe({
name :'personFilter'
})
export class PipeFilter implements PipeTransform{
transform(value: Icandidat[], filterBy : string) : Icandidat[] {
filterBy = filterBy ? filterBy.toLocaleLowerCase(): null;
return filterBy? value.filter((person : Icandidat)=>
person.candidatNom.toLocaleLowerCase().indexOf(filterBy) ! ==-1) : value;
}
}
我的组件
export interface Icandidat {
prog1 : string ;
progName1 : string ;
progEl1 : string ;
candInfo : any [];
filterBy : string ;
candidatID : number;
candidatNom : string;
canditatPrenom : string ;
candidatParti : string;
candidatDepartement : string;
candidatCommune : string ;
candidats : Icandidat;
errorMessage : string;
}
和我的模板
import { PaeServiceService } from '../pae-service.service';
import { Icandidat } from './icandidat';
import { NgModel } from '@angular/forms/src/directives';
import { Component, OnInit } from '@angular/core';
@Component({
selector: 'app-candidat',
templateUrl: './candidat.component.html',
styleUrls: ['./candidat.component.css'],
providers : [PaeServiceService]
})
export class CandidatComponent implements OnInit {
prog1 : string ="Programme d'Appui aux Elections";
progName1 : string ="Enquête sur les candidats";
progEl1 : string ="Listes des candidats ciblés";
candInfo : any [];
filterBy : string ="Ronny";
candidatID : number;
candidatNom : string;
canditatPrenom : string ;
candidatParti : string;
candidatDepartement : string;
candidatCommune : string ;
candidats : Icandidat;
errorMessage : string;
constructor (private _candidatService : PaeServiceService){
}
ngOnInit(): void {
this._candidatService.getCandidatInfo()
.subscribe(candidats => this.candInfo = candidats,
error => this.errorMessage = <any>error);
}
}
知道造成这种情况的原因是什么?
答案 0 :(得分:1)
此处的间距可能是问题所在:
.indexOf(filterBy) ! ==-1)
应该是:
.indexOf(filterBy) !== -1)
请注意,bang和double equals之间没有空格。