Comment étendre angular2 DatePipe

Jusqu'à angular2.beta15 (y compris), le code suivant fonctionnait bien:

@Pipe({ name: 'isoDate' }) export class ISODatePipe extends DatePipe implements PipeTransform { transform(isoDate: string, args: any[]): string { return super.transform(new Date(isoDate), args); } } 

Sur RC1, il ne fonctionne plus, même après avoir ajusté la syntaxe des tuyaux:

 @Pipe({ name: 'isoDate' }) export class ISODatePipe extends DatePipe implements PipeTransform { transform(isoDate: string, pattern?: string): string { const date = new Date(isoDate); return super.transform(date, pattern); } } 

Le message que je vois dans le navigateur suit: The pipe 'isoDate' could not be found .

Si je supprime la partie extends et renvoie une chaîne – elle fonctionne à nouveau.

Qu'est ce qui a changé?

PS

L'a changé pour

 @Pipe({ name: 'isoDate' }) export class ISODatePipe implements PipeTransform { private datePipe: DatePipe = new DatePipe(); transform(isoDate: string, pattern?: string): string { const date = new Date(isoDate); return this.datePipe.transform(date, pattern); } } 

Cela fonctionne, mais il semble un peu étrange.

Qu'est ce qui a changé?

La classe DatePipe d'une valeur est désormais constructive

constructor(@Inject(LOCALE_ID) private _locale: string) {} afin que vous puissiez passer LOCALE_ID comme paramètre:

 const datePipe = new DatePipe(); 

Lorsque vous compilez spécifier local ngc --locale=en-US Le LOCAL_ID est passé au constructeur DatePipe .