我得到了以下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>'
}];
它不工作,按钮显示但是一旦点击它没有调用该功能。我正在关注他们的导游Here,并且我正在使用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>
我还尝试添加external-scope
,但没有什么区别..
有什么想法吗?
答案 0 :(得分:4)
我点击ui-grid行中的按钮就像这样。
ng-click="getExternalScopes().delete($event, row)
我的控制器注入了$ scope,第一行创建了对外部作用域的引用(我相信)。
app.controller("MyController", function ($scope) {
$scope.$scope = $scope;
HTML看起来像这样,它指的是外部范围。
<div ui-grid="gridOptions" class="someClass" external-scopes="$scope" ui-grid-selection ui-grid-resize-columns></div>
如果它有帮助,这是我的整个cellTemplate ......
<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>