在 ag-grid 的 gridOptions 中使用变量 Angular 2
Use variables in gridOptions in ag-grid for Angular 2
我正在 Angular 2 应用程序中开发 table。我正在使用农业网格。这是我的 gridOptions
this.gridOptions = <GridOptions>{
onGridReady: (() => {
this.gridOptions.api.sizeColumnsToFit();
this.gridOptions.onFilterModified = function () {
console.log("Value Changed")
}
})
}
这段代码工作正常。如果我更改搜索字段中的值,我将在控制台中获得文本 "Value Changed"。我想在 OnFilterModified 函数中使用在该函数外部定义的变量,但它不起作用。
console.log(this.) 我只得到 onGridReady 函数。而已。如何在 OnFilterModified 函数中访问其他 functions/variables?
这不是一个真正的农业网格或 angular 2 问题,而是一个 javascript 范围界定问题。
在函数中(我假设你只是在这里使用 javascript,而不是打字稿)"this" 不是 out 作用域,而是函数,它没有用。
最简单的解决方法是执行以下操作:
var that = this;
this.gridOptions = <GridOptions>{
onGridReady: (() => {
that.gridOptions.api.sizeColumnsToFit();
that.gridOptions.onFilterModified = function () {
console.log(that.gridOptions)
console.log("Value Changed")
}
})
};
我会查看这个(有很多关于这个主题的文章)以获取有关 JavaScript 范围的更多信息:http://ryanmorr.com/understanding-scope-and-context-in-javascript/ 以便更好地理解这个问题。
我正在 Angular 2 应用程序中开发 table。我正在使用农业网格。这是我的 gridOptions
this.gridOptions = <GridOptions>{
onGridReady: (() => {
this.gridOptions.api.sizeColumnsToFit();
this.gridOptions.onFilterModified = function () {
console.log("Value Changed")
}
})
}
这段代码工作正常。如果我更改搜索字段中的值,我将在控制台中获得文本 "Value Changed"。我想在 OnFilterModified 函数中使用在该函数外部定义的变量,但它不起作用。
console.log(this.) 我只得到 onGridReady 函数。而已。如何在 OnFilterModified 函数中访问其他 functions/variables?
这不是一个真正的农业网格或 angular 2 问题,而是一个 javascript 范围界定问题。
在函数中(我假设你只是在这里使用 javascript,而不是打字稿)"this" 不是 out 作用域,而是函数,它没有用。
最简单的解决方法是执行以下操作:
var that = this;
this.gridOptions = <GridOptions>{
onGridReady: (() => {
that.gridOptions.api.sizeColumnsToFit();
that.gridOptions.onFilterModified = function () {
console.log(that.gridOptions)
console.log("Value Changed")
}
})
};
我会查看这个(有很多关于这个主题的文章)以获取有关 JavaScript 范围的更多信息:http://ryanmorr.com/understanding-scope-and-context-in-javascript/ 以便更好地理解这个问题。