Angular Datatables中的自定义加载

Est*_*tés 4 angularjs angular-datatables

我试图在角度数据表中实现我的自定义加载.我检查了文档:https://l-lin.github.io/angular-datatables/#/overrideLoadingTpl,建议实现:

   angular.module('showcase', ['datatables']).
factory('DTLoadingTemplate', dtLoadingTemplate);
function dtLoadingTemplate() {
    return {
        html: '<img src="images/loading.gif">'
    };
}
Run Code Online (Sandbox Code Playgroud)

因此,在我的自定义选项中,我在选项sLoadingRecordssProcessing中注入加载,但不起作用.

    .factory('myDTOptions', function (DTOptionsBuilder,DTLoadingTemplate) {

  return {
    option1: function(){
      return DTOptionsBuilder.newOptions()
      .withPaginationType('full_numbers')
      .withDisplayLength(10)
      .withBootstrap()
      .withOption('responsive', true)
      .withLanguage({
            "sEmptyTable":     "No hay información disponible",
            "sInfo":           "Mostrando _START_ a _END_ de _TOTAL_ entradas",
            "sInfoEmpty":      "Mostrando 0 a 0 de 0 entradas",
            "sInfoFiltered":   "(filtrada de _MAX_ entradas totales)",
            "sInfoPostFix":    "",
            "sInfoThousands":  ",",
            "sLengthMenu":     "Mostrando _MENU_ entradas",
            "sLoadingRecords": DTLoadingTemplate,
            "sProcessing":     DTLoadingTemplate,,
            "sSearch":         "Buscar: ",
            "sZeroRecords":    "No se encuentra coincidencias en la búsqueda",
            "oPaginate": {
                        //Dos opciones: https://github.com/DataTables/Plugins/issues/62
                          "sFirst":    '<i class="fa fa-angle-double-left"></i>',
                          "sLast":     '<i class="fa fa-angle-double-right"></i>',
                          "sNext":     '<i class="fa fa-angle-right"></i>',
                          "sPrevious": '<i class="fa fa-angle-left"></i>'
                        },
            "oAria": {
                "sSortAscending":  ": activar para ordenar columna ascendentemente",
                "sSortDescending": ": activar para ordenar columna descendentemente"
              }
        })
        /*
            .withColVis()
            .withColVisOption('aiExclude', [0,1,6,7,8])*/
      }
Run Code Online (Sandbox Code Playgroud)

dav*_*rad 8

我有同样的问题; 在调查来源后,事实证明这很简单.datatables.options应该像所有其他dataTables功能一样注入一个依赖项:

angular.module('myModule', [
  'datatables',
  'datatables.buttons',
  'datatables.bootstrap',
  'datatables.fixedheader',
  ...
  'datatables.options', //<---

])
Run Code Online (Sandbox Code Playgroud)

然后也DTDefaultOptions应该包括服务(例子):

.controller('myCtrl', ['$scope', 'DTOptionsBuilder', 'DTDefaultOptions',
    function ($scope, DTOptionsBuilder, DTDefaultOptions) {
Run Code Online (Sandbox Code Playgroud)

现在<h3>Loading...</h3>可以通过(示例)更改默认模板:

DTDefaultOptions.setLoadingTemplate('<em>Fetching data</em> ...')
Run Code Online (Sandbox Code Playgroud)

Loading ...元素与dataTables语言设置无关,但是angular dataTables拥有初始化消息.BTW这个元素可以通过CSS类进行样式化.dt-loading:

.dt-loading {
  color: red;
}
Run Code Online (Sandbox Code Playgroud)