angularjs 组件动态过滤器
Posted
技术标签:
【中文标题】angularjs 组件动态过滤器【英文标题】:angularjs component dynamic filter 【发布时间】:2017-06-08 13:54:43 【问题描述】:如果过滤器的名称是静态的,您可以将过滤器的名称加上“过滤器”添加到组件的控制器函数中,如下所示:
angular.module('ngApp').component('myComponent',
bindings:
dynamicFilter: '@'
,
controller: [
'staticFilterFilter',
function(staticFilterFilter)
this.valueSetByStaticFilter = staticFilterFilter('x');
]
);
有没有办法将过滤器的名称传递给 angularjs 1.6 版组件,使用“@”作为参数/属性字符串绑定,然后能够按名称获取该过滤器并在该控制器内部使用它组件?
【问题讨论】:
【参考方案1】:将 $filter service 注入到组件的 Controller 中。然后,您可以通过执行以下操作来检索和使用过滤器:
var filtered = $filter('yourFilterName')(arg1,arg2);
所以在您的代码中将其更改为:
angular.module('ngApp').component('myComponent',
bindings:
dynamicFilter: '@'
,
controller: [
'$filter',
function($filter)
var filtered = $filter(this.dynamicFilter)(arg1,arg2);
]
);
【讨论】:
谢谢,我之前尝试过类似的方法,但遇到了错误。但它确实对我有用,谢谢。 好东西!很高兴它有帮助。以上是关于angularjs 组件动态过滤器的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 angularjs 处理具有动态过滤添加的高级搜索?