Angularjs datatable中的RowCallback函数正在从锚标记中删除表达式?
我在这里使用AngularJs表达式。因此,当我使用Angularjs datatable中的RowCallback函数正在从锚标记中删除表达式?,angularjs,datatables,Angularjs,Datatables,我在这里使用AngularJs表达式。因此,当我使用rowCallback函数编译rows时,锚标记中的表达式被删除。这个问题的解决办法是什么 rowCallback: function(row) { if (!row.compiled) { $compile(angular.element(row))($scope); row.compiled = true; } } 这是我在datatable的defaultContent中使用的锚标记 "defaultContent": "
rowCallback
函数编译row
s时,锚标记中的表达式被删除。这个问题的解决办法是什么
rowCallback: function(row) {
if (!row.compiled) {
$compile(angular.element(row))($scope);
row.compiled = true;
} }
这是我在datatable的defaultContent中使用的锚标记
"defaultContent": "<a class='btn btn-sm btn-default'ng-href='#{{exp_url}}'>click me</a>"
“defaultContent”:
在浏览器中,在数据表填充到锚点标记上方后检查
<a class="btn btn-sm btn-default"ng-href="#">click me</a>
这会造成问题,因为当我点击按钮时,什么也没发生
解决方案还是变通方法?我遵循了
davidkonrad
的说明,它确实奏效了。关键是使用render函数
而不是defaultContent
并在渲染函数中返回锚定标记
“呈现”:函数(数据、类型、完整、元){
返回“”
}
这将完美地工作
不要使用ng href attribute
,因为它将使用href name
创建另一个属性。功能将保持不变。以下是检查代码的外观:-
<a ng-href="#/app/customer/100" href="#/app/customer/100">Download</a>
这就是我问题的答案 我猜exp\u url
指的是您的ng repeat
中的一个属性?它无法工作,它只是呈现出ng href='{{exp\u url}}'
,数据表不属于角度范围的其余部分或ng repeat
子范围。为什么不像其他部分一样以“角度方式”渲染defaultContent?我没有使用ng repeat。但是数据存在于$scope.data中,但是为什么它在编译时会删除表达式或对其求值呢@davidkonradand您所说的defaultContent render
像“角度方式”是什么意思?您是否希望使用ng repeat
并在datatable中填充数据?好的,您仍然无权访问$scope.data
或defaultContent
中的列数据,它完全是静态的。你可以使用一个render函数并return'不幸的是,我必须离开,看看你是否已经在你可以使用的render:function(data,type,row,meta){…}的列定义中指定了data:'exp\u url'
,我会记住它。谢谢