Я использую angular-datatables для отображения данных в виде сетки в моем проекте AngularJs.
Но проблема, с которой я столкнулся, заключается в том, что при добавлении столбца операция , содержащего ссылку для удаления, обновления и т. Д., Это уменьшает скорость рендеринга строк, поэтому для отображения только 300 строк требуется около 8 секунд.
это то, что я делаю, чтобы показать этот столбец:
DTColumnBuilder.newColumn('id').withTitle($filter('translate')('GLOBAL.ACTIONS')).notSortable().withOption('width', '5%')
.renderWith((data, type, full, meta) => {
let editBtn = <button ng-click="edit(${full.id})" permission permission-only="'EDIT_PLAN'" ng-if="${full.is_owner && !full.confirmed}" class='btn btn-outline-info'><span class='icon mdi mdi-pencil'></span></button>,
delBtn = <button class='btn btn-outline-danger' ng-click='delete(${full.id})' permission permission-only="'DEL_PLAN'" ng-if="${full.is_owner && !full.confirmed}"><span class='icon mdi mdi-delete'></span></button>,
activeBtn = <button ng-click="changeStatus(${full.id}, 1)" permission permission-only="'ACTIVE_PRODUCTION_PLAN'" ng-if="${full.is_owner && !full.confirmed && !full.is_active}" class='btn btn-outline-success' uib-tooltip="{{'GLOBAL.DO_ACTIVE' | translate}}"><span class='icon mdi mdi-check'></span></button>,
deActiveBtn = <button class='btn btn-outline-secondary' ng-click='changeStatus(${full.id}, 0)' permission permission-only="'ACTIVE_PRODUCTION_PLAN'" ng-if="${full.is_owner && !full.confirmed && full.is_active}" uib-tooltip="{{'GLOBAL.DO_INACTIVE' | translate}}"><span class='icon mdi mdi-close'></span></button>;
return <div class='btn-group'>${delBtn + editBtn + activeBtn + deActiveBtn} </div>;
})
Как видите, существует много условных блоков, основанных на разрешениях пользователя. Поскольку у пользователя могут быть разные разрешения, и я не показываю, что некоторые рабочие ссылки основывают его / его разрешения.
Когда я комментирую код этого столбца, все работает нормально, и только при возврате этого кода рендеринг занимает слишком много времени.