我最近更新了Marionette JS版本2.4.7,在很长一段时间内使用旧版本的Marionette。
我正在初始化module
并希望将两个对象传递给此module
,一个model
和另一个自定义对象foo
。
layout = new FooBar.Layout
model: options.model if options.model
foo: options.foo if options.foo
options.loadRegion.show(layout)
模型在FooBar模块的initialize
方法中很好用,但无论我尝试什么,foo
对象都不会在FooBar模块的options
对象中出现,虽然它在我初始化options
之前出现在FooBar.Layout
对象中(如上所示)。
我在Marionette的新版本中做错了什么?
答案 0 :(得分:0)
我意识到问题在于尝试在对象属性声明中运行条件语句,这不起作用。
layout = new FooBar.Layout
model: options.model if options.model
foo: options.foo if options.foo
删除条件语句有效:
layout = new FooBar.Layout
model: options.model
foo: options.foo
或者在创建新布局之前声明您的对象,以及
opts = nil
opts.model = options.model if options.model
opts.foo = options.foo if options.foo
layout = new FooBar.Layout(opts)