javascript - 拖古拉已加载但不工作

标签 javascript dojo dragula

我正在开发一个使用 Dragula 的 Alfresco 冲浪页面。由于 alfresco 5 使用 dojo ,所以我使用 dojo 来加载 Dragula 库。

 require(["${page.url.context}/res/components/js/dragula.js"], function(){
     dragula([document.getElementById('left-defaults')]);
 });

库加载正常,但拖拉古拉未正确定义。如果我尝试使用它,我会在浏览器中收到如下未定义的错误:

Uncaught ReferenceError: dragula is not defined
at extractar:388
at runFactory (dojo.js:1147)
at execModule (dojo.js:1275)
at dojo.js:1310
at guardCheckComplete (dojo.js:1290)
at checkComplete (dojo.js:1305)
at onLoadCallback (dojo.js:1471)
at HTMLScriptElement.onLoad (dojo.js:1720).

我的问题的一些图片。

dragula library loaded ok

dragula browser error

为什么会发生这种情况?我必须使用另一种方式来加载和使用dragula吗?

提前致谢

最佳答案

您的代码缺少传递给回调函数的正式参数,即

require(["path/to/dragula.js"], function(dragula /*this is missing*/) {
    // you can use dragula param here
    ...
});

看看dojo.require观察到,如果您想引用作为第一个参数传递给 require() 的数组中第 N 个索引处加载的模块,您需要提供与数组中前 N 个模块匹配的形式参数。

关于javascript - 拖古拉已加载但不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48263639/

相关文章:

javascript - Electron:Dragula 不工作?

angular - ng2-dragula [dragula](angular2 拖放)- *ngFor with [dragulaModel] 属性不起作用

javascript - Karma/Jasmine 测试自定义指令 Controller

javascript - 并且不与 Loopback 中的其他查询字段一起使用

javascript - 在 Firestore 中添加新文档时出现问题

javascript - native 脚本中的 iOS 3D Touch 支持

JQuery 布局 UI 和 (ESRI Dojo) 问题

javascript - 如何居中 Dijit Select 小部件?

javascript - JSONP图像请求不循环?

javascript - 带有 Dragula 的多个容器,但将项目限制在它们的容器中