我正在开发一个使用 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吗?
提前致谢
最佳答案
您的代码缺少传递给回调函数的正式参数,即
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/