从 class name as string 创建 class 实例并传入参数
create class instance from class name as string and pass in argument
从 字符串 我正在尝试 实例化 class (我的 marionette 视图)。我找到了一种可行的方法,但这种方法存在一个问题,即我实际上无法将参数传递给实例化的 class。
似乎当我调用 typeMapping[viewType]
它实际上是在返回我 Show.OneNode()
而不仅仅是 Show.OneNode
class Show.TwoNode extends App.ItemView
template: "templates/two"
class Show.OneNode extends App.ItemView
template: "templates/one"
class Show.Layout extends App.Layout
onShow: =>
typeMapping = {
one: Show.OneNode
two: Show.TwoNode
}
viewType = "one"
view = new typeMapping[viewType]
model: @model
再次强调,我宁愿将此作为评论,但这就是生活。您是否尝试过将 key/value 对中的值用引号括起来以将它们强制为字符串?
typeMapping = {
one: "Show.OneNode",
two: "Show.TwoNode"
}
从 字符串 我正在尝试 实例化 class (我的 marionette 视图)。我找到了一种可行的方法,但这种方法存在一个问题,即我实际上无法将参数传递给实例化的 class。
似乎当我调用 typeMapping[viewType]
它实际上是在返回我 Show.OneNode()
而不仅仅是 Show.OneNode
class Show.TwoNode extends App.ItemView
template: "templates/two"
class Show.OneNode extends App.ItemView
template: "templates/one"
class Show.Layout extends App.Layout
onShow: =>
typeMapping = {
one: Show.OneNode
two: Show.TwoNode
}
viewType = "one"
view = new typeMapping[viewType]
model: @model
再次强调,我宁愿将此作为评论,但这就是生活。您是否尝试过将 key/value 对中的值用引号括起来以将它们强制为字符串?
typeMapping = {
one: "Show.OneNode",
two: "Show.TwoNode"
}