ng-click 在 ag-grid 单元格内不起作用

use*_*694 4 angularjs ag-grid

我正在使用 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)

如果我做错了什么,请指导我。谢谢。

Vig*_*ian 5

我曾经遇到过这个问题。我们需要在网格选项中定义它。将angularCompileRows设置为 true 为我解决了这个问题

$scope.gridOptions = {
        columnDefs: $scope.columnDefs,
        rowData: $scope.rowData,
        // all other options 
        angularCompileRows: true
    };
Run Code Online (Sandbox Code Playgroud)