![](/img/trans.png)
[英]How to use Angular ngbPopover in a CellRenderer for an ag-grid cell
[英]Use variables in gridOptions in ag-grid for Angular 2
我正在Angular 2應用程序中的表上工作。 我正在使用ag-grid。 這是我的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函數中訪問其他函數/變量?
這實際上不是ag-grid或angular 2問題,而是JavaScript范圍界定的問題。
在函數中(我假設您只是在這里使用javascript,而不是打字稿),“ this”不是超出范圍,而是函數,沒有用。
最簡單的解決方法是執行以下操作:
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/以更好地理解這個問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.