0

我有一個將返回工廠名稱的服務。我已經將所有工廠注入控制器。我需要使用該變量來調用該工廠內的方法。我知道我可以使用如何從變量動態調用工廠方法?

if(var == 'factoryname') { 
    factoryname.method() 
} 

但我不想那些如果條件,因爲我有一些工廠。有沒有辦法在Java腳本調用該工廠內的方法類似
window[var]

+0

這是一些奇怪的建築,我可以」 t想象那會很好,可維護等。 – 2015-02-11 15:12:26

+0

爲什麼要注入所有的工廠,如果你只能使用其中的一些呢? – Wawy 2015-02-11 15:28:03

回答

3

你應該考慮將所有工廠的對象:

var factories = { 
    factoryA: { method: function() {} }, 
    factoryB: { method: function() {} }, 
}; 

var factory = 'factoryA'; 

factories[factory].method(); 
+0

非常感謝。有效。 – 2015-02-12 15:24:16