Je veux utiliser le datePipe dans mon composant. J'ai suivi les instructions ici mais on me rencontre
Error: StaticInjectorError[DatePipe]:
StaticInjectorError[DatePipe]:
NullInjectorError: No provider for DatePipe!
Voici mon code:
Composant
import { DatePipe } from '@angular/common';
export class LivePreviewComponent implements OnInit{
currentDate = new Date();
constructor(private datePipe:DatePipe) {}
ngOnInit() {
this.datePipe.transform(this.currentDate, 'YYYY-MM-DDTHH:mm')
}
}
Ajouter au tableau de fournisseurs dans le composant
@Component({
selector: 'app-root',
templateUrl: '...',
providers:[DatePipe]
})
ou l'injecter au module
@NgModule({
providers:[DatePipe]
})
ou écrivez une classe séparée étendant le DatePipe et utilisez-la en tant que service
@Injectable()
export class CustomDatePipe extends DatePipe {
transform(value, format) {
return super.transform(value, format);
}
}
et injecter cela au tableau des fournisseurs
@Component({
selector: 'app-root',
templateUrl: '...',
providers:[CustomDatePipe]
})
Ajouter dans le module providers: [DatePipe],
Ajouter dans le constructeur private datePipe: DatePipe
Ajouter dans le fichier Ts pour Form Array:
const start_date = this.datePipe.transform(starttime, 'hh:mm a');
const end_date = this.datePipe.transform(endtime, 'hh:mm a');
this.Form.controls['starttime'].patchValue(start_date);
this.Form.controls['endtime'].patchValue(end_date);