У меня есть Угловое 2 компонент, который реализует интерфейс IDataSource как часть AG-GRIDУгловое 2 Undefined на службе
Я не могу получить впрыскивается HTTPClient Service должны быть доступны из функции DATASOURCE GetRows.
Я предполагаю, что это как-то связано с инъекцией, которую я просто не понимаю; но я не могу обернуть вокруг себя.
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);
}
}
};
}
Также попытался определить его как отдельную собственность и получить то же самое.
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 - чувствовать себя немного идиотом прямо сейчас. Приветствия. Я отвечу, когда смогу. – Kieran
Ты здесь не один. Это, вероятно, самый часто задаваемый вопрос ;-) Рад, что он исправил его и для вас. –