【发布时间】:2016-10-04 19:34:56
【问题描述】:
我正在尝试在我的 Aurelia 应用程序中使用 Datatables.net 库。
https://www.npmjs.com/package/datatables.net
问题在于以下代码适用于 Aurelia 的 Webpack 版本。 JSPM 构建时出现错误
mytable.js:13 Uncaught (in promise) TypeError: $(...).dataTable is not a function(...)attached @ mytable.js:13attached @ aurelia-templating.js:2947attached @ aurelia-templating。 js:1016attached@aurelia-template.js:1472attached@aurelia-templating.js:1026attached@aurelia-templating.js:1472(匿名函数)@aurelia-framework.js:204
我将 "datatables.net": "npm:datatables.net@^1.10.11", 添加到我的 package.json 并添加了 jspm install -y 并且据说已安装 datatables.net。
视图模型:
import $ from 'jquery';
import dataTable from 'datatables.net';
export class MyTable{
dataSet = [
['Ken','Husband','Home'],
['Barbie','Wife','Home']
];
attached(){
//console.log(dataTable);
var dataSet = this.dataSet;
//console.log(dataSet);
//require( 'datatables.net' )( window, $ );
$(() => $('#example').DataTable({
select: true,
data: dataSet,
columns: [
{ title: "Name" },
{ title: "Position" },
{ title: "Office" }
]
}) );
}
}
查看
<template>
<div class="container" style="margin-top:20px">
<div>test datatables</div>
<table id="example" class="display" width="100%"></table>
</div>
</template>
【问题讨论】:
-
完全可能的 jspm 无法正确导入。有时您必须添加 shims 或指定其主要入口点。
-
@MeirionHughes 我该怎么做呢?不确定 Shim 是什么。
标签: javascript datatable aurelia jspm