首页 > 解决方案 > 如何将管道发送到组件

问题描述

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

<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>

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

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

标签: angulartypescript

解决方案


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

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

<app-my-component [value]="'abcde' | UpperCasePipe"></app-my-component>
<app-my-component [value]="0.95 | PercentPipe"></app-my-component>
<app-my-component [value]="[1,2,3,4] | MySummarizePipe"></app-my-component>


推荐阅读