javascript - 如何扩展 Javascript 库以每次使用相同的配置

标签 javascript jquery datatables

我正在使用dataTables在我的应用程序中显示几种不同类型的数据。每次我想要一个表时,我都需要调用该方法并将翻译对象与以下内容一起传递:

oTable = $('.dTables').dataTable({
        "bJQueryUI": true,
        "sPaginationType": "full_numbers",
        "sDom": '<""l>t<"F"fp>',
        "columnDefs": [{
            "targets": 0,
            "render": function ( data, type, full, meta ) {
                var livro = data.split(';');
                return '<a href="/livro/ver/'+ livro[0] +'">'+ livro[1] +'</a>';
            }
        }],
        "language": {
            "search": "Buscar: ",
            "lengthMenu": "Mostrar _MENU_ itens por p&aacute;gina",
            "zeroRecords": "Nenhum registro",
            "info": "Mostrando _PAGE_ p&aacute;ginas de _PAGES_",
        }
    });

是否有办法将 dataTable 对象扩展为始终使用相同的对象,这样我就不必一遍又一遍地重复我的代码?

最佳答案

如果您的目标是让应用程序中不同表的 language 属性(或一些其他特定属性)相同,the documentation建议扩展$.fn.dataTable.defaults。使用您的语言选项:

$.extend(true, $.fn.dataTable.defaults, {
    "language": {
        "search": "Buscar: ",
        "lengthMenu": "Mostrar _MENU_ itens por p&aacute;gina",
        "zeroRecords": "Nenhum registro",
        "info": "Mostrando _PAGE_ p&aacute;ginas de _PAGES_",
    }
});

然后,当您在应用程序中创建表时,无需在选项对象中定义语言,只需定义该特定表所需选项的属性即可。这是为大多数选项设置默认值的合适解决方案。

关于javascript - 如何扩展 Javascript 库以每次使用相同的配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32190558/

相关文章:

javascript - 对存储在 Liferay 中的 Angular 应用程序执行 Protractor 测试时出现 "angular is not defined"错误

javascript - jQuery magnific-popup : open 2 popup iframe with differents width/height

javascript - 选定列的列过滤

javascript - 使用字符串按属性错误对对象进行数组排序

javascript - 重置 SetInterval 以在另一个 ID 上重复该功能

javascript - 如何修改传递条件语句的对象

javascript - Bootstrap Affix Nav 导致下面的div跳起来

javascript - 如何将此 JSON 响应放入下拉列表中

jQuery 数据表大小调整问题

javascript - 选中 jQuery DataTable 所有页面的所有复选框(服务器端处理)