【问题标题】:How to do a filter for ngFor in angular2 that passes 5 values into it?如何在angular2中为ngFor做一个过滤器,将5个值传递给它?
【发布时间】:2016-05-30 10:39:05
【问题描述】:

如何在angular2中为ngFor做一个过滤器,将4个值传递给它?

这是我目前使用过滤器代码的地方:

import { Pipe } from "@angular/core";

@Pipe({
    name: 'mapFilter', 
  pure: true
})

export class MapFilter {
   transform(items, [searchTerms]) { 
      return items;
  }
}

这是我的 html

  <tr *ngFor="let item of jobs | mapFilter: [searchTerm, county, region, type, markers]" class="animated fadeIn" (click)="viewJob(item)">

如您所见,我正在尝试将 5 个值传递给名为:searchTerm、县、地区、类型、标记的过滤器。

所以我可以过滤结果。

我不确定如何将它们传递到过滤器中。所以主要卡在mapFilter管道代码位上。

【问题讨论】:

    标签: angularjs typescript angular


    【解决方案1】:

    您可以尝试以下方法:

    <tr *ngFor="let item of jobs | mapFilter:searchTerm:county:region:type: markers"
         class="animated fadeIn" (click)="viewJob(item)">
    

    并以这种方式将它们放入管道类中:

    @Pipe({
      name: 'mapFilter'
    })
    export class MapFilter {
      transform(items, searchTerms) { 
        let searchTerm = searchTerms[0];
        let county = searchTerms[1];
        (...)
        return items;
      }
    }
    

    【讨论】:

    • 如何为 dist 文件夹运行您的示例应用程序以查看索引文件是否有效?我忘了你说的 git bash 命令?
    • 你可以使用像http-server这样的静态服务器。安装后(npm install http-server -g),进入dist文件夹并输入:http-server . -c-1...
    • 你能帮我看看这个关于 angular2 的构建问题吗:stackoverflow.com/questions/37525356/…
    【解决方案2】:

    我设法让它工作。看起来他们已经改变了管道。它现在需要看起来像这样 transform(items, searchTerm1, searchTerm2, SearchTerm3) {

    【讨论】:

      猜你喜欢
      • 2022-08-02
      • 2018-03-22
      • 2018-05-03
      • 2014-09-13
      • 2019-03-30
      • 1970-01-01
      • 2023-01-05
      • 1970-01-01
      • 2019-09-13
      相关资源
      最近更新 更多