0

最近我有一个关于使用 dojo 包含其他 js 文件的问题。例如:在我的 1.js 文件中,我写道:

require(["dijit/form/Button"], function(Button){
addButton(someWidget);});

在我的 1a.js 文件中,我编写了函数 addButton:

function addButton(target){
    var b1=new Button({
        style: "border: 1px solid green",
        label: "xxxxx"
    });
    target.addChild(b1);
    return b1;
}

对于1a.js,肯定有错误,因为我没有那个模块,但是我添加了require,最大的问题是返回值,我无法获取返回值,因为嵌套函数。

我怎么能写一个 js 文件,我写了我所有的函数,而在另一个 js 文件中,我只是用dojo require("xxxx", function(x){})

感谢帮助!

4

1 回答 1

1

dojo.require是工具包的旧版 (<=1.6) 加载器。在一个文件中使用dojo.require,使代码可用于所有文件。

Dojo 已转向使用 AMD API 来加载模块。在 1a.js 中,您还需要添加require语句。

我对以下问题的回答将有助于更好地理解 AMD API 和require声明:

于 2013-03-09T20:22:51.900 回答