Angular UI Grid,通过模板向行单元格添加按钮

Day*_*yan 5 angularjs angular-ui-grid

我得到了以下内容 gridOptions.columnDefs

 $scope.generateReport = function(row) {
     alert("Test");
 };

 $scope.gridOptions.columnDefs = [
     { name: 'Action', 
       cellEditableCondition: false, 
       cellTemplate: '<button ng-click="grid.appScope.generateReport(row)"> 
                       Report 
                      </button>' 
     }];
Run Code Online (Sandbox Code Playgroud)

它不起作用,按钮显示但是一旦点击它没有调用该功能.我跟随他们的导游在这里,我正在使用ui-grid - v3.0.0-RC.18.

我的html得到了以下内容.

        <div id="grid1"
             ui-grid="gridOptions"
             ui-grid-cellnav
             ui-grid-edit
             ui-grid-expandable
             ui-grid-exporter
             class="myGrid">
        </div>
Run Code Online (Sandbox Code Playgroud)

我也尝试添加一个,external-scope但没有什么区别..

有任何想法吗?

S. *_*ggy 4

我的 ng-click 按钮在 ui-grid 行中看起来像这样。

ng-click="getExternalScopes().delete($event, row)
Run Code Online (Sandbox Code Playgroud)

我的控制器已注入 $scope,第一行创建对外部作用域的引用(我相信)。

app.controller("MyController", function ($scope) {
$scope.$scope = $scope;
Run Code Online (Sandbox Code Playgroud)

HTML 看起来像这样,它指的是外部范围。

<div ui-grid="gridOptions" class="someClass" external-scopes="$scope" ui-grid-selection ui-grid-resize-columns></div>
Run Code Online (Sandbox Code Playgroud)

这是我的整个单元格模板(如果有帮助的话)...

<div class="ui-grid-cell-contents ng-binding ng-scope"><button class="btn btn-danger {{getExternalScopes().deleteButtonClass(row)}} btn-xs btn-block" ng-click="getExternalScopes().delete($event, row)"><span class="glyphicon glyphicon-trash"></span></button></div>
Run Code Online (Sandbox Code Playgroud)