我能让一个由多个过滤器组成的angularJS过滤器吗?
Can I make an angularJS filter composed of multiple filters?
我试图通过从我的过滤器声明中返回具有方法的object literal
来制作参数化过滤器。也就是说,我希望能够做{{ input | myFilter.foo | myFilter.bar }}
,等等……换句话说,我试图命名空间我的过滤器。
我希望它能正常工作,但我得到的错误如下:
未知提供者:myFilter。fooFilterProvider <- myFilter.fooFilter
我知道我可以将信息传递给像{{ input | filter:foo }}
这样的过滤器,但据我所知,这只适用于字符串(?),我必须在此值上切换,而不仅仅是能够直接返回带有方法的对象文字。
处理如下示例的最佳方法是什么?(恰好演示)
angular.module('plunker', [])
.filter('greet', function() {
var greetFactory = function(prefix) {
return function(name) {
return prefix + name + '!'
}
}
return {
hello: greetFactory('Hello'),
wassup: greetFactory('Wassup'),
yo: greetFactory('Yo!')
}
});
<p>{{"Zach" | greet.hello}} // should output: Hello Zach!</p>
<p>{{"Bill" | greet.yo}} // should output: Yo Bill!</p>
<p>{{"Bob" | greet.wassup}} // should output: Wassup Bob!</p>
是的,您可以在您的过滤器中添加其他过滤器作为依赖项,例如
app.filter('myFilter', ['greetFilter', function(greetFilter){
}])
注意,你必须在你想要注入的过滤器名称的末尾添加"Filter"。然后,您可以使用这些过滤器来构建自己的过滤器。
相关文章:
- Angularjs-utils高亮过滤器在搜索时破坏应用程序
- Angularjs通过过滤器获取indexOf
- 使用javascript或angularjs特定过滤器搜索字符串中第一个img标记的json值
- angularjs ng基于点击时的数组值重复过滤器
- 使用angularjs内置过滤器过滤代码中的特定属性
- AngularJS Linky过滤器停止传播
- 自定义angularjs过滤器日期时间格式额外字符
- AngularJS自定义过滤器未触发点击事件
- AngularJS中货币过滤器的Javascript代码无法使用自定义符号
- 如何在 AngularJS 中的过滤器中使用参数
- 简单顺序通过过滤器在 AngularJs 中不起作用
- AngularJS中的严格模式过滤器
- 用于分页的 AngularJS 自定义过滤器
- 无法获取过滤器以在 AngularJS 中执行
- 两个日期之间的自定义过滤器 AngularJS
- 过滤器 AngularJS REST JSON 数据:错误:badcfg 响应与配置的参数不匹配
- 在选择框中选择一个具有过滤器Angularjs的选项
- 过滤器angularjs不'对我来说不起作用
- 按数字范围过滤,自定义过滤器 - AngularJS
- 注入HTML过滤器- angularJS