私はangular datatablesを使用しています。これは、人気のある jquery datatables ライブラリの角度付きバージョンです。
これが私の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」が表示されます。次に、テーブルの上にある [列の変更] ボタンをクリックします。
テーブルの行がなくなり、元の 2 つの列が残り、ブラウザ コンソールにこのエラーが表示されます。
Error: headerCells[i] is undefined
厄介なスタック トレースが続きます。以前にリンクしたチュートリアルをコピーしようとしましたが、いくつかの小さな違いがあります。この単純な例がうまくいかない理由がわかりません。誰でも助けてもらえますか?