AngularJS UI 使用 TYPESCRIPT 的网格单元格模板

AngularJS UI Grid cell template using TYPESCRIPT

在回答我的问题之前,请考虑我使用的是 AngularJS 1 with TYPESCRIPT。

有没有人知道如何将控制器函数绑定到单元格模板,如 link using Angular UI Grid 中所问?

我遇到了非常相似的情况,我定义了包含按钮的自定义单元格模板并尝试将 ng-click 指令绑定到控制器中的函数?

所以我只有这样的东西:

组件模板:

<div id="grid1" ui-grid="$ctrl.gridOptions" class="grid" external-scopes="ctrl"></div>

组件控制器(只是一些代码片段):

ctrl = this;

exampleFunction() {
    console.log("Example function called.");
}

actionsCellTemplate = 
            '<btn class="btn btn-default action-button" ng-click="getExternalScopes().exampleFunction()">' +
                '<i class="icon-blue"><b>...</b></i>' +
            '</btn>';

columnDefs: [ { displayName: '', field: 'actions', enableColumnMenu: false, cellTemplate: this.actionsCellTemplate } ]

不要在浏览器控制台中收到任何错误。

自 RC 19 起,ui-grid 不再支持外部作用域。 https://github.com/angular-ui/ui-grid/blob/master/CHANGELOG.md#breaking-changes

getExternalScopes() function is removed. Use grid.appScope instead. external-scopes attribute is removed. Use gridOptions.appScopeProvider to assign values other than $scope.$parent to appScope