我正在使用固定标头 jquery插件的稳定版本稳定版本 v2.1.2 。我正在尝试修复我的表头。我已经使用此处提到的 Angular 数据表创建了表。
在我的控制器类中,我编写了以下代码,
app.controller("SampleController", function ($scope) {
$(document).ready( function () {
var table = $('#example').DataTable();
new $.fn.dataTable.FixedHeader( table );
});
});
我的HTML如下,
<table id="example" datatable="ng" dt-options="dtOptions" dt-column-defs="dtColumnDefs" fix-header>
<thead>
<tr>
<th>Name </th>
</tr>
</thead>
<tbody>
<tr ng-repeat="item in items">
<td>{{item.name}} </td>
</tr>
</tbody>
</table>
但是,当我运行我的应用程序时,出现以下错误,
TypeError:无法读取未定义的属性“childNodes”
我也尝试使用以下指令,因为我知道不应在 Controller 中进行 DOM 操作,但我收到以下错误。
TypeError:无法设置未定义的属性“_oPluginFixedHeader”
更新:
我的指令
app.directive('fixHeader', function () {
return {
restrict: 'AE', //attribute or element
replace: true,
link: function ($scope, elem, attr) {
$scope.table = elem.find("#example");
console.log($scope.table);
var table= $scope.table.dataTable();
new $.fn.dataTable.FixedHeader(table);
}
};
});
请问有人可以提出更好的解决方案吗?
我正在使用2.1.2版的dataTables.fixedHeader.js,我的错误出现在下面一行
var dt = $.fn.dataTable.Api ?
new $.fn.dataTable.Api( mTable ).settings()[0] :
mTable.fnSettings();
dt._oPluginFixedHeader = this; //error over here