【发布时间】:2020-08-01 07:47:36
【问题描述】:
我正在尝试模仿 this Plunker,特别是在 ag-grid 的每一行中添加一个按钮。
function ageClicked(age) {
window.alert("Age clicked: " + age);
}
function ageCellRendererFunc(params) {
params.$scope.ageClicked = ageClicked;
return '<button ng-click="ageClicked(data.age)">Age</button>';
}
Ag-grid 调用ageCellRendererFunc 来渲染单元格。它正在生成一些 HTML 来显示一个按钮,单击该按钮将导致调用 ageClicked。
那个params.$scope.ageClicked = ageClicked; 似乎在分配一个$scope 变量,在按钮代码中使用:'<button ng-click="ageClicked(data.age)">Age</button>'。
我不确定为什么有必要分配一个$scope 变量,以及为什么我们不能只引用一个$scope 函数。可以吗?
更重要的是,我没有将$scope 注入到我的控制器中,因为我在视图中使用了constroller as 语法。
如何使用controller as 语法将HTML 按钮添加到ag-grid 单元格中,让类似的代码工作?
[更新] 上面提到的 Plunker 使用了非常旧的 ag-grid 版本。
- 我想使用最新版本,v22
- 我不想使用
$scope或$rootscope,只使用this和controller as语法 - 每一行都应包含一个单元格,该单元格显示一个按钮,单击该按钮时,将执行以 soem 行数据作为参数的函数(就像 Plunker 中的“年龄”,但在此列表中满足 1 和 2)
【问题讨论】:
标签: angularjs angularjs-scope ag-grid