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!');
});
添加回答
舉報