2 回答

TA贡献1909条经验 获得超7个赞
似乎您混合了 1.7 之前的 dojo 样式和 1.7 + one(请参阅此处以了解在 1.7 之前和之后使用 require 的示例)。因为我看到'async: true',所以您使用的是 od dojo > = 1.7 版本。请参阅此处如何正确使用 dojo AMD 加载程序。你使用 require 语句的方式,你不确定使用它们时是否会加载相应的模块(它是异步的)。这可能是您在新 dijit.dialog 上收到错误的原因。正确的方法是:
require ([dijit/Dialog, dojo/domReady!], function(Dialog){
...
var helpDlg = new Dialog({...});
helpDlg.show();
});
注意约定是把dojo/domReady! 最后(见这里)。另请注意,不推荐使用 dojo.xhrGet(...)(请参见此处)...这并不意味着它不起作用(我不熟悉 1.7 之前的样式)。
编辑以在下面回答您的评论:
require ([dijit/Dialog, dojo/domReady!], function(Dialog){
var showHelp = function(id, help){
...
var helpDlg = new Dialog({...});
...
helpDlg.show();
...
}
showHelp(1, 'please help me!');
});
添加回答
举报