【问题标题】:Using a custom Angular filter in a programmatically defined ng-table在以编程方式定义的 ng-table 中使用自定义 Angular 过滤器
【发布时间】:2015-04-08 19:58:44
【问题描述】:

所以我有一个以编程方式创建的表,我想只对其中一个字段应用自定义过滤器。我在这里创建了一个 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 函数,但无济于事。

可以这样做吗?

最好的问候, 朱莉

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

http://plnkr.co/edit/pynm57tlQK53bCKbQjht

【问题讨论】:

    标签: angularjs angularjs-filter ngtable


    【解决方案1】:

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

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

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

    【讨论】:

    • 好的,所以我已经做到了这一点,并认为我可以以某种方式指定该字段。但我已经想出了如何做我想做的事,所以感谢 Explosion!
    猜你喜欢
    • 1970-01-01
    • 2017-06-11
    • 2018-07-08
    • 2019-12-08
    • 2018-05-18
    • 1970-01-01
    • 2014-06-13
    • 2015-08-15
    • 1970-01-01
    相关资源
    最近更新 更多