Dojo 1.8.3而且风格太严格了

时间:2013-09-21 13:18:50

标签: dojo amd

我正在使用DOJO 1.8.3,我的代码每次都会中断。我一直收到parser.parser错误。

帮助我理解这一点:如果我使用require(["dojo/some-module"],如果我使用require加载一次模块,那么我们不应该再次使用require加载相同的模块,但如果我这样做,事情就不会工作。我应该只使用一次parser.parser()吗?请解释一下。

1 个答案:

答案 0 :(得分:1)

模块将在require定义的闭包内定义。所以这是合法的:

require(['dojo/some-module'], function(someModule) {
    someModule.someFunction(); //inside the closure scope
});

但这不是:

require(['dojo/some-module'], function(someModule) {
    // stuff
});

someModule.someFunction(); //outside the closure scope

因此,如果您需要使用parser.parse(),则需要在require函数回调中使用它:

require(['dojo/parser'], function(parser) {
    parser.parse();
});