Angular 2自定义管道说明

时间:2016-11-01 15:41:13

标签: angular

我一直在慢慢学习Angular 2,最近我一直试图实现自定义管道来按类别过滤我的图库结果。我读过的所有文章都没有详细说明自定义管道中实际发生的事情,而且我对如何构建自己的管道感到困惑。

以下是我正在查看的教程中的一些代码,我认为代码有点过时但我想主体是相同的。

import {Pipe} from 'angular2/core';

@Pipe({
  name: 'AgePipe'
})
export class AgePipe {

  transform(value, args?) {
    let [minAge] = args;
    return value.filter(person => {
      return person.age >= +minAge;
    });
  }

}

我想在实现管道时设置值和args。我一直在为值和args得到一个TS错误,说"参数'值'隐含地有任何'类型"

1 个答案:

答案 0 :(得分:2)

此打字稿错误是由于您将typescript编译器配置为禁止隐式any。即您应该明确指定变量的类型,并明确指定任何类型,如果这是您想要的类型,而不是依赖于typescript来隐式推断任何类型。请参阅TypeScript documentation中的--noImplicitAny

请注意,Angular2选择不包含过滤管道,因为他们认为这是一个坏主意:这样的操作成本太高,不能由视图重复完成,并且只有在组件需要时才应该这样做。