Angular 如何替代现有管道

Angular 如何替代现有管道,angular,ngx-translate,Angular,Ngx Translate,我在我的组件中使用ngx translate,如下所示: {{ 'TRANSLATE_THIS' | translate }} 我想用父组件通过@Input()提供的函数覆盖这个translate管道的转换函数,我不想由于特定需要修改HTML模板。有可能实现吗 您只需使用相同的名称来定义管道,即可覆盖管道 参见示例 编辑:如果要将任何内容传递到管道进行自定义,只需使用参数即可。检查更新的代码。是否尝试将类型添加到组件的装饰器中@Component({providers:[YourCustomP

我在我的组件中使用ngx translate,如下所示:

{{ 'TRANSLATE_THIS' | translate }}

我想用父组件通过
@Input()
提供的函数覆盖这个translate管道的转换函数,我不想由于特定需要修改HTML模板。有可能实现吗

您只需使用相同的
名称
来定义管道,即可覆盖管道

参见示例


编辑:如果要将任何内容传递到管道进行自定义,只需使用参数即可。检查更新的代码。

是否尝试将类型添加到组件的装饰器中
@Component({providers:[YourCustomPipeType]
}?我不太清楚父组件通过@Input()提供函数的
的确切含义
不过。谢谢,@Igor我只想替换PipeTransform提供的转换功能,而不向angular注册新管道。这可能吗/这有什么意义吗?可以在组件级别(而不是全局)注册“自定义”管道吗?这是可以做到的,请参阅我的第一条评论。如果这不是你的意思,那么我仍然不清楚你在问什么,或者你设想它如何工作。我尝试过,这是可行的。但我不确定如果我有多个同名管道,哪一个管道将获得优先权?/另外,是否可以只替换转换函数,而不注册新管道?导入顺序在这里很重要。更新了一个导出管道的自定义模块的示例。请尝试更改
BrowserModule
CustomModule
的顺序。