比方说,我有一个pipeVar,它可以是任何管道,例如:数字,大小写,customPipe等有没有一种方法来动态评估/使用角度(角度2+)管道?
有没有一种简单的方法只是调用类似
{{ myVal | pipeVar }}
或一些特殊的语法像
{{ myVal | #pipeVar }}
?
我到目前为止发现的最接近的是Dynamic pipe in Angular 2
比方说,我有一个pipeVar,它可以是任何管道,例如:数字,大小写,customPipe等有没有一种方法来动态评估/使用角度(角度2+)管道?
有没有一种简单的方法只是调用类似
{{ myVal | pipeVar }}
或一些特殊的语法像
{{ myVal | #pipeVar }}
?
我到目前为止发现的最接近的是Dynamic pipe in Angular 2
我有更新plunkr plunkr link
变化动态pipe.ts这样
const dynamicPipe = "";
//i have give one simple logic for example if your dynamic pipe is like
this.dynamicPipe = ['number','uppercase','customPipe']; //pipe,pipe1 ... pipeN
//now create a one variable like 'number' | 'uppercase' | 'customPipe'
for (let i=0;i<this.dynamicPipe.length;i++){
dynamicPipe = dynamicPipe + " | "+this.dynamicPipe[i];
}
@Component({
selector: 'dynamic-comp',
template: '{{ data ' + dynamicPipe + '}}'
})
我明白了。感谢您指出我们可以让编译器关心多管支持。我还没有测试过AOT的解决方案,你知道它是否可以与AOT协同工作? – techguy2000
什么是AOT?我不知道AOT。 –
提前编译。 yurzui提到它不适用于AOT。虽然我还没有试过 – techguy2000
入住这https://开头plnkr。 co/edit/Vz88zzWwzPbqgIpMinPp?p =预览 – yurzui
@yurzui感谢闯入者。我正在考虑类似的实施。但是具有额外参数的管道也需要支持。另外,我认为我需要支持多个管道才是理想的,比如'passThrough:[actualPipes]' – techguy2000
请检查这个plunkr https://plnkr.co/edit/xX1klYoaGMq1O2TJzu8w?p=preview –