Angular 2管道或指令?哪个是最好的?

问题描述 投票:0回答:2

我的应用程序中有几个日期字段。所以我需要将日期作为时间戳发送到数据库。所以我打算编写一个自定义管道来修改模型值。这符合我的需要吗?或者我需要为此编写自定义指令吗?

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();
    });
  }
}
angular angular2-directives angular2-pipe
2个回答
2
投票

你落后了。在Angular中,管道在模板中用于以更合适的方式显示数据。它们无法修改您的实际数据。

我建议使用ng-bootstrap库(你可以在Github上找到它)来使用正确的日历小部件。可以将模型配置为返回时间戳。


编辑:添加在代码中调用它的示例:

let name = new UserNamePipe().transform(user);

https://stackoverflow.com/a/35159546/5885595


0
投票

希望我理解你的问题。 对于转换,您可以使用标准DatePipe(或扩展它),例如:

{{ dateField | date:'HH:mm:ss SSS'}}
{{ dateField | date:'HHmmssSSS':'+0000'}}
© www.soinside.com 2019 - 2024. All rights reserved.