我正在使用数据表创建一个角度表。我使用范围中的值,并将此值与收到的数据进行比较。
"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"}]
当我加载数据时,两个按钮都出现在行 - 列中,条件仅在我单击ng-click操作时适用。
有人可以帮助我知道为什么会这样吗?
答案 0 :(得分:2)
显然,angular不知道dataTables注入的HTML。在这种情况下,我使用$compile
中的呈现内容drawCallback
:
withOption('drawCallback', function() {
$scope.$apply($compile(angular.element('#tableId'))($scope))
}
其中#tableId
是您表格的id
。但总的来说这有点搞砸了,imho。当我需要附加到dataTables行或列的特定角度指令时,我使用datatable="ng"
呈现角度方式。更慢但更干净和可维护。