Я использую angular datatables, угловую версию популярной библиотеки данных jquery. .
Вот мой 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>
Вот мой джаваскрипт
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')
];
};
}
]);
Это настолько просто, насколько я могу уменьшить свои проблемы, но я все равно получаю ту же ошибку. Когда страница загружается впервые, я вижу «Столбец А» и «Столбец Б», как и ожидалось. Затем я нажимаю кнопку «Изменить столбцы», которую я получил над таблицей.
Строки таблицы исчезают, исходные два столбца остаются, и я получаю эту ошибку в консоли браузера.
Error: headerCells[i] is undefined
за которым следует неприятная трассировка стека. Я попытался скопировать руководство, на которое я ссылался ранее, с несколько незначительных отличий. Я не понимаю, почему этот простой пример у меня не работает. Кто-нибудь может помочь?
new $.fn.dataTable.ColReorder(table);
- person jmbmage   schedule 09.09.2015