在AMD中使用dojox / form / BusyComboButton

时间:2015-01-09 16:36:02

标签: dojo

我正在尝试在AMD代码中使用dojox/form/BusyComboButton,但找不到如何操作的示例(我不确定它是否可行)。

由于它是在dojox/form/BusyButton文件中声明而未从模块返回的,因此我无法找到通过require调用或html而不使用非AMD代码的方法。

有没有办法在不修改dojox的情况下做到这一点?

1 个答案:

答案 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");
});