【发布时间】:2017-01-27 18:51:41
【问题描述】:
我目前正在使用 Angular 2 编写应用程序,并将其配置为使用 DataTables.net、DataTables.net-bs 和 DataTables.net-select。
在大多数情况下,一切看起来和工作都很棒。除了一个例外,应用程序的分页显示好像没有应用任何样式。
我检查了浏览器中的源代码,并应用了默认的类和 HTML 结构:
<div class="dataTables_paginate paging_full_numbers" id="myTable_paginate">
<a tabindex="0" class="paginate_button first disabled" id="myTable_first" aria-controls="myTable" data-dt-idx="0">First</a>
<a tabindex="0" class="paginate_button previous disabled" id="myTable_previous" aria-controls="myTable" data-dt-idx="1">Previous</a>
<span>
<a tabindex="0" class="paginate_button current" aria-controls="myTable" data-dt-idx="2">1</a>
<a tabindex="0" class="paginate_button " aria-controls="myTable" data-dt-idx="3">2</a>
<a tabindex="0" class="paginate_button " aria-controls="myTable" data-dt-idx="4">3</a>
<a tabindex="0" class="paginate_button " aria-controls="myTable" data-dt-idx="5">4</a>
<a tabindex="0" class="paginate_button " aria-controls="myTable" data-dt-idx="6">5</a>
<span class="ellipsis">…</span>
<a tabindex="0" class="paginate_button " aria-controls="myTable" data-dt-idx="7">580</a>
</span>
<a tabindex="0" class="paginate_button next" id="myTable_next" aria-controls="myTable" data-dt-idx="8">Next</a>
<a tabindex="0" class="paginate_button last" id="myTable_last" aria-controls="myTable" data-dt-idx="9">Last</a>
</div>
链接的功能可以正常工作,但它在显示屏上看起来很丑,因为我使用的是 DataTables Bootstrap CSS,它没有使用无序列表输出适当的 HTML。我进入浏览器中的调试器,正在加载 DataTables.net-bs 的代码。我在 JavaScript 中添加了一堆断点,并且正在调用工厂方法。但是,它似乎再也没有被调用过。
这是我的vendors.browser.ts的相关代码
require('datatables.net')();
require('datatables.net-bs')();
require('datatables.net-select')();
require('file-saver');
我也关闭了 AMD,因为我知道这对某些人来说是个问题。下面是 webpack.common.js 文件的相关代码:
{
test: /datatables\.net.*/,
loader: 'imports?define=>false'
},
顺便说一句,另一个插件 Datatables.net-select 运行正常。
如果我无法解决这个问题,我可以使用 DataTables.net-dt 中包含的样式,但我更愿意让它正常工作。
有人对正在发生的事情有任何潜在的想法吗?
【问题讨论】:
标签: javascript angular datatables