什么@Pipe和管道:[]做Angular 2打字稿?

时间:2016-05-18 13:19:58

标签: typescript angular

我知道简单|用于过滤但是对于这种情况它做了什么?

@Pipe({name: 'exponentialStrength'})
export class ExponentialStrengthPipe implements PipeTransform {
  transform(value: number, exponent: string): number {
    let exp = parseFloat(exponent);
    return Math.pow(value, isNaN(exp) ? 1 : exp);
  }
}

和...

@Component({
  selector: 'power-booster',
  template: `
    <h2>Power Booster</h2>
    <p>Super power boost: {{2 | exponentialStrength: 10}}</p>
  `,
  pipes: [ExponentialStrengthPipe]
})

1 个答案:

答案 0 :(得分:0)

@Pipe用于定义自定义管道。此装饰器定义管道类的元数据。请参阅PipeMetadata类:

组件的pipes属性,用于将管道提供给特定组件。

如果没有为组件指定它们,可以在其中使用它们......