我的应用中有几个日期字段。所以我需要将日期作为时间戳发送到数据库。所以我打算编写一个自定义管道来修改模型值。这符合我的需要吗?或者我需要为此编写自定义指令吗?
import { Pipe, PipeTransform } from '@angular/core';
@Pipe({name: 'capitalize'})
export class CapitalizePipe implements PipeTransform {
transform(value: string, args: string[]): any {
if (!value) return value;
return value.replace(/\w\S*/g, function(txt) {
return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase();
});
}
}
答案 0 :(得分:2)
你让它落后了。在Angular中,管道在模板中用于以更合适的方式显示数据。它们无法修改您的实际数据。
我建议使用ng-bootstrap库(您可以在Github上找到它)来使用正确的日历小部件。可以将模型配置为返回时间戳。
编辑:添加在代码中调用它的示例:
let name = new UserNamePipe().transform(user);
答案 1 :(得分:0)
希望我理解你的问题 对于转换,您可以使用标准DatePipe(或扩展它),例如:
{{ dateField | date:'HH:mm:ss SSS'}}
{{ dateField | date:'HHmmssSSS':'+0000'}}