在AngularJS中,我能够使用类似于此的语法在服务和控制器内部使用过滤器(管道):
$filter('date')(myDate, 'yyyy-MM-dd');
Run Code Online (Sandbox Code Playgroud)
是否可以在Angular中使用像这样的服务/组件中的管道?
我有一个动态生成的Angular 2 FormGroup,其中包含多个FormControl输入字段.一些输入是日期,它们作为unix时间戳从服务器获取.
我想做的是:
第1部分有点简单,使用Angular的日期管道,如下所示:
<input class="form-control" [formControlName]="question.key"
[value]="this.form.controls[this.question.key].value | date:'dd/MM/yyyy'">
Run Code Online (Sandbox Code Playgroud)
其中this.form是对FormGroup的引用,this.question是一个基于动态表单的官方教程的自定义包装类:
https://angular.io/docs/ts/latest/cookbook/dynamic-form.html
尝试以这种方式更改日期输入将不起作用,因为管道将不断尝试转换输入值,从而使输入不可用,如果不为管道'DatePipe'异常抛出Invalid参数.
为了澄清,我使用FormGroup.patchValue()api 填写表单,并使用api提交表单数据FormGroup.getRawValue().
我曾尝试使用Angular 2日期选择器组件,但它们使我的巨大形式非常慢,所以我想在没有自定义日期选择器或任何jQuery依赖小部件的情况下这样做.
提前致谢.