如何从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({...})
答案 0 :(得分:2)
您只需要在正确的范围内使用方括号查找类名。在浏览器中,如果您的班级位于您可以new window[className]
的模块中,您可以new require('./models')[className]
或在节点中。