©
本文档使用 PHP中文网手册 发布
过滤器是只将输入转换到一个输出的函数。然而过滤器需要被依赖注入。要实现的这个过滤器的定义包括一个标注依赖和负责创建一个过滤器函数的工厂函数。
// Filter registration
Function MyModule($provide, $filterProvider) {
// create a service to demonstrate injection (not always needed)
$provide.value('greet', Function(name){
return 'Hello ' + name + '!';
});
// register a filter factory which uses the
// greet service to demonstrate DI.
$filterProvider.register('greet', Function(greet){
// return the filter function which uses the greet service
// to generate salutation
return Function(text) {
// filters need to be forgiving so check input validity
return text && greet(text) || text;
};
});
}
过滤器函数在Filter
后缀的过滤器名称下用$injector
注册。
it('should be the same instance', inject(
Function($filterProvider) {
$filterProvider.register('reverse', Function(){
return ...;
});
},
Function($filter, reverseFilter) {
expect($filter('reverse')).toBe(reverseFilter);
});
关于angular过滤器如何工作的更多信息,以及如何创建自己的过滤器,参见Angular开发者指南中的Filters 。
register(name, fn);
注册过滤器工厂函数。
参数 | 类型 | 详述 |
---|---|---|
name | String |
过滤器名称。 |
fn | Function |
可注入的过滤器工厂函数。 |