在以编程方式定义的 ng-table 中使用自定义 Angular 过滤器

Using a custom Angular filter in a programmatically defined ng-table

所以我有一个以编程方式创建的 table,我只想将自定义过滤器应用于其中一个字段。我在这里创建了一个 plunkr:

http://plnkr.co/edit/57rEPEYNylisoHyBysp4

因此,通过将过滤器应用于年龄列,table 将 return:

Name    Age
Enos    I'm a number greater than 30: 34
Moroni  I'm a number greater than 30: 50
Jacob   I'm a number less than 30: 27
Nephi   I'm a number less than 30: 29
Enos    I'm a number greater than 30: 34
Tiancum I'm a number greater than 30: 43
Jacob   I'm a number less than 30: 27
Nephi   I'm a number less than 30: 29
Tiancum I'm a number greater than 30: 43
Tiancum I'm a number greater than 30: 43

我试过:

<td ng-repeat="column in columns | filter:{ age: numCheck }" ng-show="column.visible" sortable="column.field">
                {{user[column.field]}}
</td>

除其他外 HTML。我也尝试过更改控制器中的 getData 函数,但无济于事。

可以这样做吗?

此致, 朱莉

编辑 所以我创建了这个 plunkr,它更接近我在现实生活中想要做的事情(基于以下 Explosion 的回答):

http://plnkr.co/edit/pynm57tlQK53bCKbQjht

| filter 使用 filter 过滤器,这是不同的东西。相反,您想将您创建的过滤器应用到您正在显示的字符串:

{{user[column.field] | numCheck}}

当然,您需要额外检查一下是否真的要应用过滤器。有很多方法可以做到这一点,但根据您目前设置所有内容的方式,我认为最简单的方法就是检查传递给 numCheck 的值是否为数字。