javascript - 如何从变量动态调用工厂方法?

标签 javascript angularjs angularjs-factory dynamic-variables

我有一项服务将返回工厂名称。我已经将所有工厂注入(inject) Controller 中。我需要使用该变量来调用该工厂内的方法。我知道我可以使用

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

但我不想要那些 if 条件,因为我有很多工厂。有没有办法像java脚本一样调用工厂内部的方法
窗口[var]

最佳答案

您应该考虑将所有工厂存储在一个对象上:

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

var factory = 'factoryA';

factories[factory].method();

关于javascript - 如何从变量动态调用工厂方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28457612/

相关文章:

javascript - Ajax 请求不保留 Rails 中提供的完整 URL(协议(protocol))

c# - 使用 Angular 上传文件时 HttpPostedFileBase 为空

javascript - 无法使用 ng-repeat 访问内部对象数组

c - 如何通信 AngularJS 的 $http 路由和用 C 编程开发的 API

javascript - AngularJS Controller 不是一个函数,未定义(来自工厂的数据)

javascript - 如果元素有类什么都不做运行匿名函数

javascript - 在 react-router 渲染函数中访问 URL 参数

javascript - 如何通过 javascript 使用 django 评论表单?

javascript - 无法修复我的 angularjs 应用程序路径中的主题标签

javascript - 工厂函数的依赖注入(inject)(AngularJS)