У меня есть следующая директива, которая работает нормально.Директива dacatables Angularjs jewery - несколько типов данных в одном представлении
angular.module('myApp').directive('jqdatatable', function() {
return {
restrict: 'A',
link: function (scope, element, attrs, ngModelCtrl) {
var options = {};
if (scope.dtOptions) {
options = scope.dtOptions;
}
console.log('applying data table');
element.DataTable(options);
}
};
});
И я использую эту директиву, как это:
HTML:
<table jqdatatable> <thead> <tr> <th>Col1</th> <th>Col2</th> <th>Col3</th> </tr> </thead> <tfoot> <tr> <th>Col1</th> <th>Col2</th> <th>Col3</th> </tr> </tfoot> </table>
И Javascript от контроллера, например:
$scope.dtOptions = { 'processing': true, 'serverSide': true, 'pageLength': 25, 'ajax': 'read_data_tables.php' };
Но проблема возникает, когда в одном представлении имеется несколько таблиц данных. Вы не можете установить несколько раз $ scope.dtOptions. Кажется, этот подход не совсем эффективен в этой ситуации.
Если у кого-то есть идея, как этот код может быть интегрирован для работы с несколькими таблицами данных в одном представлении, это будет здорово.
Спасибо.
вместо того, чтобы устанавливать параметр в области, вы можете передать параметры как атрибут –