Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript ng显示在datatables列中不工作_Javascript_Angularjs_Angular Datatables - Fatal编程技术网

Javascript ng显示在datatables列中不工作

Javascript ng显示在datatables列中不工作,javascript,angularjs,angular-datatables,Javascript,Angularjs,Angular Datatables,我正在使用datatables在angular中创建一个表。我使用了范围中的一个值,并将该值与接收到的数据进行比较 "columns": [{ data: null, render: function ( data, type, row ) { var roleid =angular.element('#TextkeysController').scope().currentRole; return '<p ng-show="'+data.id+' == '+roleid+'" class

我正在使用datatables在angular中创建一个表。我使用了范围中的一个值,并将该值与接收到的数据进行比较

"columns": [{ data: null, render: function ( data, type, row ) {
var roleid =angular.element('#TextkeysController').scope().currentRole;
return '<p ng-show="'+data.id+' == '+roleid+'" class="btn btn-success btn-xs disabled" value="connected" >connected</p><p ng-show="'+data.id+' != '+roleid+'" class="btn btn-danger btn-xs" value="notConnected" ng-click="connectRole(\''+data.id+'\',\''+data.name+'\')">Not connected</p>';
}, name: 'connect', "className":"center"}]
“列”:[{data:null,render:function(数据,类型,行){
var roleid=angular.element('#TextkeysController').scope().currentRole;
return“

已连接未连接; },名称:'连接',“类名”:“中心”}]

当我加载数据时,这两个按钮都会出现在行-列中,并且仅当我在ng click操作中单击时,该条件才适用


有人能帮我知道为什么会发生这种情况吗?

显然angular不知道dataTables注入的HTML。在这种情况下,我使用
$compile
drawCallback中编译呈现的内容

withOption('drawCallback', function() {
   $scope.$apply($compile(angular.element('#tableId'))($scope))
}

其中
#tableId
是表的
id
。但总的来说这有点混乱,伊姆霍。当我需要将特定角度指令附加到dataTables行或列时,我使用
datatable=“ng”
呈现角度方式。速度较慢,但更干净,更易于维护

我应该将With选项添加到datatables javascript文件或控制器中吗?嘿@jValls我猜您正在使用angular datatables(这就是我重新标记的原因)-以上是angular datatables的方式,我强烈推荐。如果您使用的是没有指令的jQuery数据表,那么应该包括。我已经解决了直接添加条件而不使用ng show的问题。不过谢谢你的帮助。@jValls,好的,谢谢你的投票!事实上,我会建议您,这个小的标记片段表明您可以通过一个简单的三元组来完成,但不能确定,因为
roleid
可能会动态更改,这就是重点所在?但是我在很多项目中大量使用数据表和角度数据表,我会说:单击事件,转到数据表渲染。如果您确实需要角度指令,例如,我经常使用
ng class
,其中
$scope
变量决定类,请转到
datatable=“ng”
查看@jValls anychance您能发布解决方案吗?