【问题标题】:Marionette passed objects to moduleMarionette 将对象传递给模块
【发布时间】:2016-10-15 10:43:21
【问题描述】:

在使用旧版本的 Marionette 很长时间后,我最近更新到 Marionette JS 版本 2.4.7。

我正在初始化一个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 对象中通过,尽管它出现在在我初始化 FooBar.Layout 之前的 options 对象(如上所示)。

我在新版本的 Marionette 中做错了吗?

【问题讨论】:

    标签: javascript backbone.js coffeescript marionette


    【解决方案1】:

    我意识到问题在于尝试在对象属性声明中运行条件语句,这不起作用。

    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)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-05-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多