2013-04-23 77 views
2

我根据用户定义的列定义为在此建立一个表:在Angularjs应用动态过滤模板

http://jsfiddle.net/waylon999/2RvmW/1/

你会发现我已经在列的过滤器领域,我一直没能申请。我已经试过:

{{ getItem(data, col.keyword) | col.filter }} 

这铬提供了以下错误: 未知提供商:col.filterFilterProvider < - col.filterFilter

我也尝试修改的getItem方法打造出来的过滤器字符串,但它只是将作为文本的

| uppercase 

作为文本附加到文本。所以,我得到这样的输出:

美孚|大写

有没有办法,我可以把这个过滤器,我是如何建立表的方法吗?

+0

检查这个答案了:http://stackoverflow.com/questions/14296241/dynamically-change-the-filter-expression – SkyOut 2014-01-17 16:21:19

回答

-2

这将工作

<tr ng-repeat='data in myData'> 
    <td ng-repeat='col in columns'> {{data[col.keyword] | uppercase}}</td> 
</tr> 

有一个很好的发展一天!

jsfiddle

+0

我觉得OP的问题基本上是如何动态确定使用哪种过滤器在模板中而不是硬编码它。在上述(http://stackoverflow.com/questions/14296241/dynamically-change-the-filter-expression)评论的链接的问题回答了它。过滤器表达式也可以是变量:“items in items | filter:filterExpr” – ccnokes 2015-01-06 17:28:22