我正在开发一个使用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).
我的问题的一些照片。
为什么会这样?我是否必须使用其他方式来加载和使用拖拉机?
提前致谢
答案 0 :(得分:2)
您的代码缺少传递给回调函数的正式参数,即
require(["path/to/dragula.js"], function(dragula /*this is missing*/) {
// you can use dragula param here
...
});
查看dojo.require以观察如果你想引用在作为第一个参数传递给require()
的数组中的第N个索引处加载的模块,你需要提供匹配数组中前N个模块的形式参数