$(…)datatable不是vue3应用程序中的函数

zfycwa2u  于 2021-09-13  发布在  Java
关注(0)|答案(1)|浏览(527)

我想用vue3应用程序实现datatables。但在正确导入方面存在问题。
根据文档导入不起作用。

  1. var $ = require( 'jquery' );
  2. var dt = require( 'datatables.net' )();

抛出:无法设置未定义的属性“$”
所以我尝试了我发现的一切,但没有成功。我有一个带有示例分支数据表的github项目。带有导入的代码位于main.js文件中。
现在我有了这个进口

  1. import jQuery from 'jquery/src/jquery.js'
  2. window.$ = window.jQuery = jQuery;
  3. import dataTables from 'datatables.net';
  4. window.dt = dataTables;

抛出:$(…)。datatable不是函数。
我迷路了。datatables引擎盖下发生了什么?为什么不能用jquery连接它?
谢谢你的帮助。

7qhs6swi

7qhs6swi1#

第一步,通过npm jquery和datatables安装:
npm安装jquery
npm安装datatables.net
然后在组件或视图中的脚本标记中导入:

  1. import $ from "jquery";
  2. import DataTable from "datatables.net";

但如果需要全局导入jquery和datatable,可以在main.js中导入它(如您所写):

  1. window.$ = window.jQuery = require('jquery');
  2. import {DataTable} from "datatables.net";

然后将表(此处表的名称为“testtable”)传递给datatable函数:

  1. export default {
  2. data() {
  3. return {
  4. testTable: [
  5. [
  6. "Tiger Nixon",
  7. "System Architect",
  8. "Edinburgh",
  9. "5421",
  10. "2011/04/25",
  11. "$3,120"
  12. ],
  13. [
  14. "Tiger Nixon",
  15. "System Architect",
  16. "Edinburgh",
  17. "5421",
  18. "2011/04/25",
  19. "$3,120"
  20. ]
  21. ]
  22. };
  23. },
  24. mounted() {
  25. $("#example").DataTable({
  26. data: this.testTable
  27. });
  28. }

并按表标签在模板中输出:

  1. <table id="example">
  2. <thead>
  3. <tr>
  4. <th>Name</th>
  5. <th>Position</th>
  6. <th>Office</th>
  7. <th>Extn.</th>
  8. <th>Start date</th>
  9. <th>Salary</th>
  10. </tr>
  11. </thead>
  12. </table>

我希望我能帮忙。

展开查看全部

相关问题