javascript - 如何在Angular 2的组件中使用管道?

我有一个管道类,它根据您传递的参数返回数据。我知道如何使用|符号在模板HTML中使用它,但我也想在组件中使用它。

有没有办法在Angular 2中直接从组件或服务内部调用管道?

最佳答案

您可以使用以下代码直接在代码中调用管道:

YourPipeClass.prototype.transform(value, arg1, arg2);

您可以从组件内部或导入它的任何其他位置调用它。

还有 new方式:
new SortTodosPipe().transform(value, arg1, arg2);

但是请记住,它将创建一个对象,因此请保存该对象以备后用或使用 prototype方法。

无论如何选择,如果在组件中使用管道,则必须将管道添加到 providers中,如下所示:
@NgModule({
    providers: [YourPipe]
})