我在使用Aurelia的jquery数据表时遇到问题。 我正在尝试导入数据表,但没有运气。当我尝试初始化它时,它给了我错误
未处理的承诺拒绝TypeError:$(...)。dataTable不是函数(...)
我的打字稿代码如下:
import * as $ from 'jquery';
import * as dataTable from 'datatables';
export class App {
router: Router;
constructor() {}
attached() {
$('#example').dataTable({
"paginate": true,
"pageLength": 25
});
}
activate() {
console.log("app.activate");
}....
任何指针? 干杯:)
答案 0 :(得分:2)
这里有几个问题会给你带来麻烦。
首先,jQuery导出一个默认变量$。因此,您可以执行以下操作以在ViewModel中导入jQuery:
mylibs/hi
其次,DataTables插件扩展了jQuery的库原型,将其自身添加到jQuery对象中。因此,要使其工作,您需要先包含jQuery,然后再包含DataTables插件。
我无法看到客户端使用的默认导出,因此这应该为您提供以下功能代码:
import 'jquery';
除非我忽略了一个特定的细节,否则我认为这应该可以解决问题。如果没有,那么在下面发表评论,我们将以任何一种方式对其进行排序。
答案 1 :(得分:1)
[求助]我通过在activate()方法中初始化datatable并让我的导入保持原样来实现它...
activate() {
datatable();
console.log("app.activate");
}....
进一步尝试,发现这也有效......
import * as $ from 'jquery';
import "datatables";
//import * as dataTable from "datatable";
export class DatatablesExample {
//activate() {
// dataTable();
//}
attached() {
$('#example').dataTable();
}
}
一直在解决我的问题是导入jQuery。 但我想知道为什么推荐的导入不适用于jquery ......
从'jquery'导入$;