我正在尝试在AMD代码中使用dojox/form/BusyComboButton,但找不到如何操作的示例(我不确定它是否可行)。
由于它是在dojox/form/BusyButton
文件中声明而未从模块返回的,因此我无法找到通过require调用或html而不使用非AMD代码的方法。
有没有办法在不修改dojox的情况下做到这一点?
答案 0 :(得分:1)
Dojo将模块添加到全局范围(window
)。这意味着您仍然可以检索它们以在代码中使用,例如:
require(["dojox/form/BusyButton", "dojo/domReady!"], function() {
var BusyComboButton = window.dojox.form.BusyComboButton;
var btn = new BusyComboButton({
label: "My button"
}, "test");
});
如果您更喜欢使用AMD BusyComboButton
加载程序,则可以创建自己的垫片,例如:
自定义/ BusyComboButton.js 强>:
define(["dojox/form/BusyButton"], function() {
return window.dojox.form.BusyComboButton;
});
然后你可以使用:
require(["custom/BusyComboButton", "dojo/domReady!"], function(BusyComboButton) {
var btn = new BusyComboButton({
label: "My button"
}, "test");
});