jquery - $(...).DataTable 不是 Vue3 应用程序中的函数
问题描述
我想用我的 Vue3 应用程序实现 DataTables。但是正确导入有问题。
根据文档导入不起作用。
var $ = require( 'jquery' );
var dt = require( 'datatables.net' )();
抛出:无法设置未定义的属性“$”
所以我尝试了我发现的一切,但没有成功。我有一个带有示例分支数据表的 github 项目。带有导入的代码位于main.js文件中。
现在我有这个导入
import jQuery from 'jquery/src/jquery.js'
window.$ = window.jQuery = jQuery;
import dataTables from 'datatables.net';
window.dt = dataTables;
抛出: $(...).DataTable 不是函数。
我迷失在其中。DataTables 引擎盖下发生了什么,为什么不能将它与 jQuery 结合?
谢谢你的帮助。
解决方案
第一步通过 NPM jQuery 和数据表安装:
- npm 安装 jquery
- npm 安装 datatables.net
然后在组件或视图中导入脚本标签:
import $ from "jquery";
import DataTable from "datatables.net";
但是如果你需要全局导入 jQuery 和 DataTable,你可以在 main.js 中导入这个(如你所写):
window.$ = window.jQuery = require('jquery');
import {DataTable} from "datatables.net";
然后将您的表(此处表的名称为“testTable”)传递给 DataTable 函数:
export default {
data() {
return {
testTable: [
[
"Tiger Nixon",
"System Architect",
"Edinburgh",
"5421",
"2011/04/25",
"$3,120"
],
[
"Tiger Nixon",
"System Architect",
"Edinburgh",
"5421",
"2011/04/25",
"$3,120"
]
]
};
},
mounted() {
$("#example").DataTable({
data: this.testTable
});
}
并通过表格标签将其输出到模板中:
<table id="example">
<thead>
<tr>
<th>Name</th>
<th>Position</th>
<th>Office</th>
<th>Extn.</th>
<th>Start date</th>
<th>Salary</th>
</tr>
</thead>
</table>
我希望我有所帮助。
推荐阅读
- sql - 在 ETL 的转换步骤中使用多少临时/临时表?
- firebase - 如何获取 Flutter Firestore 中的总价值?
- javascript - 在P5 js中找到围绕其中心点旋转的正方形平面的顶点坐标(x,y,z)
- flutter - 没有为类型“type”定义方法“fromjson”
- uicollectionview - 使用 UICollectionViewCompositionalLayout 自动调整单元格大小
- python - Py3 - 如何导入?
- twilio - 自定义 Twilio SMS 选择退出响应消息
- android - 运行 ionic cordova build android 命令时的问题
- javascript - 我正在从实时 firebase 数据库调用数据,但它不起作用
- regression - 如果多个模型中的一个子类别显示显着性,我可以得出整个变量显着的结论吗?