gpt4 book ai didi

angular7 ag-grid this.http 是未定义的错误

转载 作者:行者123 更新时间:2023-12-04 13:01:30 26 4
gpt4 key购买 nike

我尝试在 angular7 中使用 ag-grid,我的代码如下所示:

从“@angular/core”导入 { Component, OnInit };
从“@angular/common/http”导入 { HttpClient, HttpHeaders };

从'ag-grid-angular'导入{AgGridModule};

@成分({
选择器:'app-top100sp',
templateUrl: './top100sp.component.html',
styleUrls: ['./top100sp.component.css']
})
导出类 Top100spComponent 实现 OnInit {

private top100url = 'http://resturl';

私有(private)网格选项;
私有(private) row_per_page = 20;

私有(private)端点;
私有(private)行数据;
私有(private)rest数据源;

私有(private) columnDefs = [
.
.
.
];

构造函数(私有(private)http:HttpClient){}

ngOnInit() {
this.gridOptions = {
columnDefs: this.columnDefs,
rowModelType: '无限',
//数据源:this.restDatasource,
enableServerSideFilter: false,
enableServerSideSorting: false,
分页:真实,
paginationPageSize: this.row_per_page
};
}

网格就绪($事件){
console.log("onGridReady "+$event.api.paginationGetPageSize());
this.restDatasource = {
行数:空,
getRows:函数(参数){
console.log(params.startRow + "to "+ params.endRow);
this.endpoint = this.top100url + "/"+ params.startRow +"/"+ params.endRow;
this.http.get(this.endpoint).subscribe((结果) => {
//console.log(结果);
//this.rowData = 结果;
params.successCallback(results, 20);
});
}
};
$event.api.setDatasource(this.restDatasource);
};

}

页面初始化时,我在 javascript 控制台中收到以下错误。

错误类型错误:“this.http 未定义”

为什么 this.http 未定义?我通过构造函数注入(inject)它。

我有 Angular UI Grid 的经验,angular 7 有类似的解决方案吗?

最佳答案

使用箭头函数定义 getRows方法。

getRows = (params) => {
console.log(params.startRow + " to " + params.endRow);
this.endpoint = this.top100url + "/"+ params.startRow +"/" + params.endRow;

this.http.get(this.endpoint).subscribe((results) => {
//console.log(results);
//this.rowData = results;
params.successCallback(results, 20);
});
}

关于angular7 ag-grid this.http 是未定义的错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55808616/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com