我想要实现的是这样的,但我不确定如何去做:
define([
// Load basic modules that are always used
], function (one, two, ...) {
if (a) {
// Load this extra module as "extraModule"
}
else {
// Load that extra module as "extraModule"
}
// Be able to use functions from extraModule without worrying
// exactly what they do
extraModule.doTheThing();
然后,extraModule的两个选项就好像它们是从同一个抽象类继承的对象。
有没有人知道Dojo是否可以这样做?
答案 0 :(得分:1)
我认为实现这一目标的最接近方法是执行以下操作:
define([ "one", "two", "extraModule1", "extraModule2" ], function(one, two, extra1, extra2) {
var extra = null;
if (a) {
extra = extra1;
} else {
extra = extra2;
}
});
所以你只需加载这两个模块,然后选择你需要的模块。