我有来自后端的静态时间戳,我想每 1 秒刷新一次管道以获取现在的日期
这是我的烟斗
import { Pipe, PipeTransform } from '@angular/core';
import moment from 'moment';
@Pipe({
name: 'dateFormat'
})
export class DateFormatPipe implements PipeTransform {
transform(date: string): string {
return moment.utc(date, 'X').local().format('DD-MM-YYYY h:mm:ss a');
}
}
在这种情况下,它只是将时间戳转换为这种格式,我想保持日期更新,我该怎么做?
您应该返回一个可观察对象并也使用 asyncPipe。
import { Pipe, PipeTransform } from '@angular/core';
import * as moment from 'moment';
import { interval, Observable } from 'rxjs';
import { map } from 'rxjs/operators';
@Pipe({
name: 'dateFormat'
})
export class DateFormatPipe implements PipeTransform {
transform(date: string): Observable<string> {
return interval(1000).pipe(map(() => { return moment().format('DD-MM-YYYY h:mm:ss a') }));
}
}
你应该像这样使用它:{{ 'param' | dateFormat | async}}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)