我正在使用angular datatables,这是流行的 jquery 数据表库的 angularized 版本。
这是我的html
<body ng-controller="TestCtrl">
<input type="button" ng-click="changeColumns()" value="Change Columns"/>
<table datatable="" dt-options="dtOptions" dt-columns="dtColumns" class="row-border hover"></table>
</body>
这是我的 javascript
var module = angular.module('TestApp', ['datatables']);
module.controller('TestCtrl', [
'$scope',
'DTOptionsBuilder',
'DTColumnBuilder',
function($scope, DTOptionsBuilder, DTColumnBuilder) {
$scope.dtOptions = DTOptionsBuilder.newOptions();
$scope.dtColumns = [
DTColumnBuilder.newColumn('ColumnA').withTitle('ColumnA'),
DTColumnBuilder.newColumn('ColumnB').withTitle('ColumnB')
];
$scope.changeColumns = function() {
$scope.dtColumns = [
DTColumnBuilder.newColumn('ColumnA').withTitle('ColumnA'),
DTColumnBuilder.newColumn('ColumnB').withTitle('ColumnB'),
DTColumnBuilder.newColumn('ColumnC').withTitle('ColumnC'),
DTColumnBuilder.newColumn('ColumnD').withTitle('ColumnD')
];
};
}
]);
这就像我可以将问题减少到最低限度一样简单,但我仍然遇到同样的错误。当页面首次加载时,我按预期看到了“ColumnA”和“ColumnB”。然后我点击表格上方的“更改列”按钮。
表格行消失,原来的两列保留,我在浏览器控制台中收到此错误。
Error: headerCells[i] is undefined
然后是一个讨厌的堆栈跟踪。我试图复制我之前链接的教程,但有一些细微差别。我不明白为什么这个简单的例子对我不起作用。有人可以帮忙吗?