Javascript 角管过滤器

Javascript 角管过滤器,javascript,angular,typescript,Javascript,Angular,Typescript,您好,我正在尝试制作一个自定义管道过滤器,当选中复选框时,它会过滤数据。我有一个工作地点列表,当选中某个工作地点时,我要对其进行筛选。我正在提供与问题相关的代码 管道代码- @Pipe({ name: 'checkcity' }) export class CheckcityPipe implements PipeTransform { transform(check: any, checked: any): any { let [loc] = checked; con

您好,我正在尝试制作一个自定义管道过滤器,当选中复选框时,它会过滤数据。我有一个工作地点列表,当选中某个工作地点时,我要对其进行筛选。我正在提供与问题相关的代码

管道代码-

@Pipe({
  name: 'checkcity'
})
export class CheckcityPipe implements PipeTransform {

  transform(check: any, checked: any): any {
    let [loc] = checked;
    console.log('checked',checked);
    return checked
            ? check.filter(city => {return city.location }) 
            : check;
  }

}
输入复选框-

<input type="checkbox" value="" [(ngModel)]="checked" name="checked"> Bangalore
要筛选的数据-

<div *ngFor="let joblist of jobList | checkcity: checked">
    {{joblist.location}}
</div>

您应该将本地var重命名为joblist,将源重命名为joblist,它们不应该相同。你能试试下面的代码吗

@Pipe({
  name: 'checkcity'
})
export class CheckcityPipe implements PipeTransform {

  transform(check: any, checked: any): any {
    //let [loc] = checked;
    console.log('checked',checked);
    return checked
            ? check.filter(city =>  city.location == checked) 
            : check;
  }

}

<input type="checkbox" value="Bangalore" [(ngModel)]="checked" name="city"> Bangalore

<div *ngFor="let joblist of jobLists | checkcity: checked">
    {{joblist.location}}
</div>

如果您遇到任何错误,请在这种情况下共享日志;应该做什么?返回城市。返回地点?它应该过滤city.location包含值的所有元素吗?@Manu,嗨,我没有得到任何值error@GünterZöchbauer,你好,我在做实验,所以你可以删除/忽略这个,我也没有出错,这就是问题你好,我试过这个,它不起作用,也没有给我任何错误,但是说检查表没有定义。我已经将列表和复选框过滤器放在不同的组件中,它会影响吗。@Akshay什么是检查表?您必须在列表组件类中导入管道类如果您可以将代码放在问题中的单独文件中更好,以便更好地理解其他组件,它被选中为未定义,我已在需要的地方导入管道类,否则会给我一个错误。但是没有出现错误。@Akshay您是否在组件类中声明了已检查的属性?更新了复选框的名称。