这是我的自定义管道:
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();
});
}
}
在类声明中使用 implements PipeTransform
的目的是什么?从我看来,即使没有这部分也能正常工作。
最佳答案
PipeTransform
是一个接口(interface):https://angular.io/api/core/PipeTransform
包含它并使用 implements PipeTransform
确保您的类将实现所需的 transform
方法并符合其接口(interface)(特别是需要第一个 value
参数......它没有做太多其他事情)。
符合接口(interface)会捕获可能的运行时错误(在转换期间),包括但可能不限于:
transform
transform
这类似于
implements OnInit
/ngOnInit
。您不必为了代码工作而实现它,但这是一个很好的做法。关于angular - 为什么我们在自定义管道中使用 "PipeTransform"?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48155661/