J'ai une 2 composante angulaire qui met en oeuvre une IDatasource d'interface dans le cadre de AG-GRIDangulaire 2 non définie sur Injecté service
Je ne peux pas obtenir le injectais httpClient service sera disponible à partir de la fonction getRows DataSource. Je suppose que c'est quelque chose à voir avec l'injection que je ne comprends tout simplement pas; mais je ne peux pas comprendre pourquoi.
constructor(private httpClient: HttpClient) {
//This one works perfectly fine and httpClient is defined.
console.log(this.httpClient);
this.gridOptions = <GridOptions>{
//Removed other config for brevity.
datasource: {
getRows: function (params) {
let data: any[] = [];
//this one - the httpClient is undefined. No idea why?
console.log(this.httpClient);
// this.httpClient.post('incidents/GetIncidentList', params).subscribe(response => data = response.json());
let lastRow = -1;
params.successCallback(data, lastRow);
}
}
};
}
a également essayé de le définir comme une propriété séparée et a obtenu exactement le même problème.
private dataSource: IDatasource = {
getRows: function (params) {
let data: any[] = [];
console.log(this.httpClient);
// this.httpClient.post('incidents/GetIncidentList', params).subscribe(response => data = response.json());
let lastRow = -1;
params.successCallback(data, lastRow);
}
}
Works - se sentir comme un peu idiot maintenant. À votre santé. Je marquerai comme la réponse quand je peux. – Kieran
Vous n'êtes pas seul ici. C'est probablement la question la plus fréquemment posée ;-) Je suis content qu'elle l'ait corrigé pour vous aussi. –