我一直在慢慢学习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错误,说"参数'值'隐含地有任何'类型"
答案 0 :(得分:2)
此打字稿错误是由于您将typescript编译器配置为禁止隐式any。即您应该明确指定变量的类型,并明确指定任何类型,如果这是您想要的类型,而不是依赖于typescript来隐式推断任何类型。请参阅TypeScript documentation中的--noImplicitAny
。
请注意,Angular2选择不包含过滤管道,因为他们认为这是一个坏主意:这样的操作成本太高,不能由视图重复完成,并且只有在组件需要时才应该这样做。