1

ライブラリのバージョン:
jQuery: 2.1.1
DataTables: 1.10.1-dev
dataTablesTableTools: 2.2.1
dataTables.dataTables.editor.min.js: 1.2.3

Backbone、RequireJS、および Datatables を使用して datatableseditor を使用して CRUD 操作を実装しようとしていますが、次のエラー メッセージが表示されます。

$.fn.dataTable.Editor is not a constructor"   

その理由は何ですか?

これが私の構成です:

require.config({
baseUrl: 'js',
paths: {
    jquery: 'vendor/jquery.min',
    datatables: 'vendor/jquery.dataTables.min',
    datatablesTableTools: 'vendor/dataTables.tableTools.min',
    datatablesEditor: 'vendor/dataTables.editor.min'
},
shim: {
    jquery : {
        exports : '$'
    },
    datatables: { 
        deps: [
            'jquery',                
        ] 
    },
    datatablesTableTools:   { deps: ['datatables'] },
    datatablesEditor:       { deps: ['datatables'] }        
}
});

次のように使用します。

require(["jquery", "datatables"], function () {

var editor = new $.fn.dataTable.Editor( {
    "ajax": "table.line.php"
} );

$('#myGrid').dataTable( {
    "aaData": [
        ['Trident', 'Internet Explorer 4.0', 'Win 95+', 4, 'X'],
        ['Trident', 'Internet Explorer 5.0', 'Win 95+', 5, 'C']
    ],
    "aoColumns": [
        { "sTitle": "Engine" },
        { "sTitle": "Browser" },
        { "sTitle": "Platform" },
        { "sTitle": "Version" },
        { "sTitle": "Grade" }
    ],
    "tableTools": {
        "sRowSelect": "os",
        "aButtons": [
            { "sExtends": "editor_create", "editor": editor },
            { "sExtends": "editor_edit",   "editor": editor },
            { "sExtends": "editor_remove", "editor": editor }
        ]
    }
});
});
4

2 に答える 2

1

依存関係のテーブルで間違いを犯したと思います。2 番目のコードでは、次のようになります。

require(["jquery", "datatablesEditor"], function () {
[...]

それ以外の

require(["jquery", "datatables"], function () {
[...]
于 2014-07-02T13:26:08.577 に答える