这是自定义管道..
import { Pipe, PipeTransform } from '@angular/core';
@Pipe({
name: 'dc'
})
export class DcPipe implements PipeTransform {
transform(value: any, args?: any): any {
if (!value) return value;
return value.replace(/\w\S*/g, function(txt) {
return txt.charAt(0).toLowerCase() + txt.substr(1).toUpperCase();
});
}
}
即使没有" PipeTransform"它也能正常工作。模块..我不知道为什么他们使用了......任何想法? " PipeTransform"的目的是什么?在管道
答案 0 :(得分:1)
PipeTransform
是一个界面:https://angular.io/api/core/PipeTransform
包含它并使用implements PipeTransform
可确保您的类实现所需的transform
方法并符合其接口(特别需要第一个value
参数...它不会其他很多)。
符合界面可捕获可能的运行时错误(在转换时间期间),包括但不限于:
transform
transform
这类似于implements OnInit
/ ngOnInit
。您没有有来实现它以使代码工作,但这是一个很好的做法。
答案 1 :(得分:0)
以下是API定义:Integrating JavaScript Components and Extension
链接到背后的代码:https://angular.io/api/core/PipeTransform
PipeTransform是一个简单的界面,它描述了预期的实现期望,仅此而已。