使用TYPESCRIPT的AngularJS UI网格单元模板 在回答我的问题之前,请考虑我使用的是角型JS 1和打字稿。< /强>
是否有人知道如何将控制器函数绑定到单元格模板,如本文所述 我遇到了一个非常类似的情况,我定义了包含按钮的自定义单元格模板,并尝试将使用TYPESCRIPT的AngularJS UI网格单元模板 在回答我的问题之前,请考虑我使用的是角型JS 1和打字稿。< /强> ,angularjs,angular-ui-grid,Angularjs,Angular Ui Grid,是否有人知道如何将控制器函数绑定到单元格模板,如本文所述 我遇到了一个非常类似的情况,我定义了包含按钮的自定义单元格模板,并尝试将ng click指令绑定到控制器中的一个函数 所以我有一些类似的东西: 组件模板: <div id="grid1" ui-grid="$ctrl.gridOptions" class="grid" external-scopes="ctrl"></div> 组件控制器(只是一些代码片段): ctrl=this; 示例函数(){ log(“
ng click
指令绑定到控制器中的一个函数
所以我有一些类似的东西:
组件模板:
<div id="grid1" ui-grid="$ctrl.gridOptions" class="grid" external-scopes="ctrl"></div>
组件控制器(只是一些代码片段):
ctrl=this;
示例函数(){
log(“调用的示例函数”);
}
actionsCellTemplate=
'' +
'...' +
'';
columnDefs:[{displayName:'',字段:'actions',enableColumnMenu:false,cellTemplate:this.actionsCellTemplate}]
I不会在浏览器控制台中获取任何错误。自RC 19以来,ui网格中不再支持外部作用域。 已删除getExternalScopes()函数。改用grid.appScope。已删除外部作用域属性。使用gridOptions.appScopeProvider将$scope.$parent以外的值分配给appScope
exampleFunction()
是范围的一部分吗?或者它只是在控制器内部定义的?另外,您是否尝试过ng click=“grid.appScope.examplefunction()”
?我根本不使用scope。只需在controller中编写我的字段和方法,并使用html模板中的$ctrl.
语法->非常有效的方法访问它们。grid.appScope.examplefunction()
不起作用。
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 } ]