2017-11-09 3 views
0

각도 2 앱에 일부 날짜가 표시되는 방식을 변환하려고합니다.구성 요소의 날짜 변환을 각도 2 앱에

<input class="app-input" 
    [(ngModel)]="staff.profile.hireDate" placeholder="None" 
    [field-status]="getPropertyStatus('profile.hireDate')"/> 

주석 기 내가 구성 요소의 날짜의 변환을 처리하려고 제안 : 내 템플릿 코드는 다음과 같습니다 때문에 내 경우, 문자열 보간과 함께보기에서 날짜 파이프를 사용하는 것은 선택 사항이 아닙니다 그것을보기에 전달하기 전에. 이것은 그가 쓴 것입니다 :

구성 요소에서이 작업을 수행 할 수 있습니다.

가져 오기 {DatePipe} from '@ angular/common'; 구성 요소 또는 ngModule의 공급자 배열에 추가하십시오. (개인 myDatePipe : DatePipe)

생성자 : 구성 요소에서

당신은 당신의 생성자에서이 주입 {}와 변수 특성 수정 :

this.staff.profile.hireDate = this.myDatePipe을 .transform (새 날짜 (this.staff.profile.hireDate));

이것은 완벽한 솔루션처럼 들립니다. 그러나 정확한 구현에 대해서는 아직 명확하지 않습니다. DatePipe을 가져 왔으며 생성자에서 로컬 인스턴스를 정의했습니다. 그러나 여기서이 다음 부분의 이동을 수행합니다

this.staff.profile.hireDate = this.myDatePipe.transform(new Date(this.staff.profile.hireDate));

내가 생성자의 몸에 넣어 시도하지만 이동합니다.

그래서 나는 이것이 어디로가는 지에 대해 조금 불명확하다. 그리고 그 후에도 코드를 바꿔야 할 필요가 있다면.

모든 선명도가 크게 감사하겠습니다.

답변

0

사용 DatePipe 그런 식으로

NgModule({ 
    providers: [DatePipe] 
}) 

및 구성 요소 내부 :

import { DatePipe } from '@angular/common'; 
... 
constructor(private datePipe: DatePipe) {} 
... 
this.staff.profile.hireDate= this.datePipe.transform(this.staff.profile.hireDate, 'dd-MM-yy'); 
+0

그리고 내가 실제 템플릿에 무엇을 넣을 것인가? 그대로 있으면 오류가 발생합니다. "this.myDate"를 생성자 본문에 넣으려고 했습니까? – Ademo

+0

답변을 업데이트했습니다. –

+0

this.staff.profile.hireDate가 생성자 본문 외부에 여전히 있습니다. 이로 인해 오류가 발생합니다. – Ademo

관련 문제