所以我有一个以编程方式创建的表,我想将自定义过滤器仅应用于其中一个字段。我在这里创建了一个plunkr:
http://plnkr.co/edit/57rEPEYNylisoHyBysp4
因此,通过将过滤器应用于Age列,该表将返回:
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函数无济于事。
是否可以这样做?
最诚挚的问候, 朱莉
修改 所以我创造了这个更接近我想要在现实生活中做的傻瓜(基于下面的Explosion的回答):
答案 0 :(得分:1)
| filter
使用过滤器过滤器,这是不同的。相反,您希望将创建的过滤器应用于您正在显示的字符串:
{{user[column.field] | numCheck}}
当然,您需要额外检查是否确实要应用过滤器。有很多方法可以做到这一点,但是根据你目前设置的所有内容的方式,我认为最简单的方法就是检查传递给numCheck
的值是否为数字。