我有一个服务,它将返回工厂的名称。我已将所有工厂注入控制器。我需要使用变量来调用该工厂内的方法。我知道我可以使用
if(var == 'factoryname') {
factoryname.method()
}
但我不希望那些条件,因为我有很多工厂。有没有办法在java脚本中调用该工厂内的方法
window[var]
答案 0 :(得分:3)
您应该考虑将所有工厂存储在对象上:
var factories = {
factoryA: { method: function() {} },
factoryB: { method: function() {} },
};
var factory = 'factoryA';
factories[factory].method();