如何将 Pipe 发送到组件

Sha*_*les 6 typescript angular

有没有办法将管道发送到组件?我有一个显示数据的组件,我想让用户选择他想要使用哪个管道来显示数据,例如:

<app-my-component value="abcde" [pipe]="UpperCasePipe"></app-my-component>
<app-my-component value="0.95" [pipe]="PercentPipe"></app-my-component>
<app-my-component [value]="[1,2,3,4]" [pipe]="MySummarizePipe"></app-my-component>
Run Code Online (Sandbox Code Playgroud)

所以,我需要的是这样的:

@Component({
  selector: 'app-my-component',
  template: `
    <span>{{value|pipe}}</span>
  `
})
export class MyComponent {
    @Input() value: any;
    @Input() pipe: any;
}
Run Code Online (Sandbox Code Playgroud)

Bun*_*ner 3

我认为没有办法实现您想要做的事情。

\n

为什么不直接使用管道来传递值,如下所示:

\n
<app-my-component [value]="\'abcde\' |\xc2\xa0UpperCasePipe"></app-my-component>\n<app-my-component [value]="0.95 | PercentPipe"></app-my-component>\n<app-my-component [value]="[1,2,3,4] |\xc2\xa0MySummarizePipe"></app-my-component>\n\n
Run Code Online (Sandbox Code Playgroud)\n