我为格式化数据创建了以下服务。该服务从角度组件调用,guest.vo.ts
返回已处理的数据
import { Guest } from '../core/guest/guest.model';
import { TimeAgoPipe } from 'angular2-moment/time-ago.pipe';
import { Injectable } from '@angular/core';
@Injectable()
export default class GuestVO {
constructor(private timeAgo: TimeAgoPipe) {}
getVO(guests: Guest[]) {
return guests.map(guest => {
let vo: any = {};
vo.created = this.timeAgo.transform(guest.created);
return vo;
});
}
}
我使用以下库进行时间计算 https://github.com/urish/angular2-moment/blob/master/src/time-ago.pipe.ts
但是,我在服务中注入TimeAgoPipe时遇到错误,因为它取决于ChangeDetectorRef。
如果我直接在Component中使用TimeAgoPipe,则不会出现此问题。
有关使用此管道的任何建议吗?
constructor(
private cdRef: ChangeDetectorRef,
private ngZone: NgZone) {
}
答案 0 :(得分:0)
管道 -s不可注入。您只需将其添加到模块的declarations
中即可使用它。如果要注入管道,可以将其作为
{ provide: MyPipe, useClass: TimeAgoPipe }
并将其实例注入MyPipe