web-dev-qa-db-fra.com

Comment utiliser le tube de date intégré angular2 dans les fichiers de script des services et des directives

Je dois utiliser le pipe de date d'angular2 dans les fichiers de script de services et de directives (pas seulement en HTML).

Est-ce que quelqu'un a des idées?

Impossible de télécharger du code car certaines restrictions de politique, désolé pour cela.

26
Chen Dachao

Comme CommonModule ne l'exporte pas en tant que fournisseur, vous devrez le faire vous-même. Ce n'est pas très compliqué.

1) DatePipe d'importation:

import { DatePipe } from '@angular/common';

2) Inclure DatePipe dans les fournisseurs de votre module:

NgModule({
  providers: [DatePipe]
})
export class AppModule {
}

ou les fournisseurs du composant:

@Component({
  selector: 'home',
  styleUrls: ['./home.component.css'],
  templateUrl: './home.component.html',
  providers: [DatePipe]
})
export class HomeComponent {
...

3) Injectez-le dans le constructeur de votre composant comme n'importe quel autre service:

constructor(private datePipe: DatePipe) {
}

4) Utilisez-le:

ngOnInit() {
    this.time = this.datePipe.transform(new Date());
}
56
Alexander Leonov

Essayez quelque chose comme ça:

new DatePipe().transform(myDate, 'yyyy-dd-MM');

J'espère que cela aidera.

14
Avnesh Shakya