使用 Angular ES5 创建过滤器

Using Angular ES5 to create filters

我在 ES5 中使用 Angular v 4.4.4 创建了一个项目,但我在制作管道过滤器来过滤 table 结果时遇到困难(*ngFor 用于填充 table).我到处搜索,找不到例子。这可能吗?如果可以,有人可以给我举个例子吗?

这是我迄今为止不完整的代码尝试

var SearchFilter = ng.core
.Pipe({
    name: "searchFilterTable"
})
.Class({
    constructor: function SearchFilter () {},
    transform: function() {

    }
});

找到解决方案:

ES5

var SearchFilter = ng.core.Pipe({
      name: "searchFilterTable"
    })
    .Class({
        constructor: function SearchFilter () {},
      transform: function(elements, string) {
          console.log(elements);
          console.log(string);
          return elements.filter(
                  item => item.name.toLowerCase().indexOf(string.toLowerCase()) !== -1);
      }
    });

Html

<tr *ngFor='let gateway of gateways | searchFilterTable:keyword'>
    <td class="special-td">{{ gateway.name }}<br><a>(edit)</a></td>
    <td class="special-td">{{ gateway.type }}</td>
    <td class="special-td">{{ gateway.forwardingAddress }}</td>
    <td class="special-td copy">{{ gateway.key }}</td>
    <td class="special-td"></td>
</tr>

确保将管道添加到您的 declarations/imports