在回答我的问题之前,请考虑我使用带有TYPESCRIPT的AngularJS 1.
是否有人知道如何使用link将控制器功能绑定到此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 } ]
我不要在浏览器控制台中出现任何错误。
答案 0 :(得分:1)
自RC 19以来,ui-grid不再支持外部作用域。 https://github.com/angular-ui/ui-grid/blob/master/CHANGELOG.md#breaking-changes
删除了getExternalScopes()函数。请改用grid.appScope。外部范围属性已删除。使用gridOptions.appScopeProvider将除$ scope。$ parent以外的值分配给appScope