Angular 2

时间:2016-07-14 20:43:41

标签: angular

在角度2中,我创建了一个动态过滤器。它允许你做的是在数据库中保留过滤规范,然后像这样使用它:

{{ someItem.value | dynamic : someItem.filterSpec }}

真正起作用的是$ interpolate。

我正试图找出在角度2中做到这一点的最好方法。我做了一些工作,但我真的找不到像$ filter这样的基础设施能够找到,例如,当这个人说

number:'0.1'

他的意思是DecimalPipe。 DecimalPipe的来源显示了注释,但我没有看到任何公共基础设施让我找到它。

有办法吗?

目前我有一个粗略的解决方法,但即便如此也有问题。我的动态管道确实:

import {DecimalPipe} from '@angular/common';

那很好,但我真的希望能够将它注入我的管道,但是我找不到DecimalPipe的提供者。所以现在我只用“新”创建一个,但我觉得这是一个错误的长期事情。

Q1:是否有用于按名称查找管道实例的公共API?

Q2:是否有一些我可以申报的提供商允许我注入管道?

1 个答案:

答案 0 :(得分:0)

A1:我相信你正在寻找的是https://angular.io/docs/ts/latest/api/#!?apiFilter=pipe

A2:通过component字段将管道注入pipes

@Component({
  ...,
  pipes: [MyCustomPipe],
  ...
})