如何从变量CoffeeScript启动一个类

时间:2013-05-28 15:13:11

标签: javascript coffeescript

如何从CoffeScript中的变量启动一个类?换句话说:

className = 'Domain'
domain = new className()

should.exist(domain)
'Domain'.should.equal(domain.constructor.name)

第二行应该如何满足断言?谢谢

编辑: 该类声明如下

class Domain
  constructor: (obj) ->
    for own key, value of obj
      @[key] = value

  save: (fn) ->
    self = @
 ...
module.exports = Domain

Peter Lyons的回答是对我们班级定义方式的一些调整。简而言之,解决方案:

DomainClass = require('./index')
newDomain = new DomainClass({...})

1 个答案:

答案 0 :(得分:2)

您只需要在正确的范围内使用方括号查找类名。在浏览器中,如果您的班级位于您可以new window[className]的模块中,您可以new require('./models')[className]或在节点中。