2016-12-01 13 views
1

私はフロントエンド開発とAngular2を初めて使用しています。日付の配列に日付パイプを使用するAngular2

私はfromDateとendDateが与えられているアプリを作成しています。アプリはその日付範囲を表示する必要があります。たとえば、fromDate = '10/02/2016' endDate = '11/02/2016'の場合、アプリは日付範囲を2016年2月10日から11月2日まで表示し、この日付範囲の形式は将来変更される可能性があります(もちろん月や年が異なる場合も考慮する必要があります)。

import {Pipe, PipeTransform} from '@angular/core'; 

@Pipe({name: 'dateRange'}) 
export class DateRangePipe implements PipeTransform { 
    transform(value: string[], args: any[]) { 
    return "desired output"; 
    } 
} 

簡単にするには、次のように私は、私が作成した私のカスタムパイプを使用することができます{{ dateArray | date: 'dd/MM/yyyy' | rangeDate}}dateArray = [fromDate, endDate]と私は(配列で)2つのフォーマットされた日付文字列を返すことができ{{ dateArray | date: 'dd/MM/yyyy'}}を願っています:

私の考えは、連鎖パイプを使用することです2つのストリングを操作して2つの出力を得ます。

Angular 2 Date Pipeは複数の日付値を文字列に転送することができず、戻り値の型はであり、string[]ではないため、これは間違っています。

私は、このタスクを達成するためにfor-loopのようなものをHTMLに書き込む方法があるのだろうかと思いました。同様に、それはdate[]を取り、それぞれの項目を日付パイプに送り、結果をstring[]に結合してdateRangeパイプに送ります。

答えて

1

dateパイプはここで助けにならないでしょう:a)あなたがすでにそれを考え出したように、パイプは入力として配列を取っていません。 b)2つの日付を実際に混在した表現に変換する特別な要件があります。日付パイプには、それを行う方法が分かりません。 あなた自身のdateRangeパイプ(あなたが試しているもの)を実装する必要があります。これは日付の配列をとり、出力として望むようにフォーマットされた単一の文字列を生成します。

関連する問題