angular 2:如何在Typescript函数中将字符串传递给管道?

时间:2017-03-23 20:15:00

标签: angular

我想使用'date'管道,但我不想在HTML模板中使用它,但在Typescript函数中使用它,如:

dateString.filter(date)

你知道怎么做吗?

2 个答案:

答案 0 :(得分:3)

您可以通过导入组件中的日期管道然后将其注入构造函数来使用它,例如:

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

constructor(private datePipe: DatePipe) {}

this.datePipe.transform(dateString, 'HH:mm');

答案 1 :(得分:2)

您应首先在DatePipe providers NgModule数组内注入providers(因为注射应该已在DatePipe数组中注册),然后您可以使用{{1}在您的应用程序中作为注入器。您必须调用其transform函数来格式化日期。在使用DatePipe

之前,在组件的constructor内注入DatePipe
@NgModule({
   imports: [..],
   declarations: [..],
   providers: [ DatePipe, ..], //this is very much important line.
   bootstrap: [AppComponent]
})
export class AppComponent {
}

用法

//just for demo, I put filter inside constructor
constructor(private datePipe: DatePipe){ datePipe.tranform(date); }