我正在使用 ag-grid,我需要在单元格中添加一些自定义链接,并希望在其上调用 ng-click 函数。这是我的代码
var columnDefs =[
{headerName: "ID", field: "id"},
{headerName: "Template Name", field: "user_template_name"},
{headerName: "Screen", field: "screen_name"},
{headerName: "Last Uploaded", field: "created_at"},
{headerName: "Manage", cellRenderer: createCustomLinks }
];
var gridOptions = {
angularCompileRows:true,
columnDefs: columnDefs,
rowData: null,
enableSorting: true,
enableColResize: true,
};
var gridDiv = document.querySelector('#myGrid');
new agGrid.Grid(gridDiv, gridOptions);
gridOptions.columnApi.setColumnVisible('id', false);
gridOptions.api.sizeColumnsToFit();
function createCustomLinks(params) {
var cellHtml = '<a ng-click="openTemplateID('+params.data.id+')">Open</a>';
var domElement = document.createElement("span");
domElement.innerHTML = cellHtml;
params.$scope.openTemplateID = function(id){
console.log(id);
}
return domElement;
};
Run Code Online (Sandbox Code Playgroud)
我收到以下错误
TypeError: _this.$scope is null
setTimeout(function () { _this.$scope.$apply(); }, 0);
ag-grid.js (line 7415, col 39)
Error: this.parentScope is null
RenderedRow</RenderedRow.prototype.createChildScopeOrNull
Run Code Online (Sandbox Code Playgroud)
如果我做错了什么,请指导我。谢谢。
我曾经遇到过这个问题。我们需要在网格选项中定义它。将angularCompileRows设置为 true 为我解决了这个问题
$scope.gridOptions = {
columnDefs: $scope.columnDefs,
rowData: $scope.rowData,
// all other options
angularCompileRows: true
};
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2032 次 |
| 最近记录: |