2014-01-27 60 views
0

我試圖做到的,是這樣的,但我不知道如何去做:有沒有辦法參數化在Dojo中加載哪些模塊?

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是否可行?

回答

1

我認爲實現這一目標的方式最接近是通過執行以下操作:

define([ "one", "two", "extraModule1", "extraModule2" ], function(one, two, extra1, extra2) { 
    var extra = null; 
    if (a) { 
     extra = extra1; 
    } else { 
     extra = extra2; 
    } 
}); 

所以你只需加載兩個模塊,並選擇您需要事後之一。

相關問題