【问题标题】:Backbonejs + MarionetteJD - Converting Backbone list view to MarionetteJS Collection ViewBackbonejs + MarionetteJD - 将 Backbone 列表视图转换为 MarionetteJS 集合视图
【发布时间】:2013-04-06 00:01:12
【问题描述】:

我的BackboneJS“列表项视图”定义如下:

  class TagListView extends Backbone.View
    el:"#tags"

    render: =>
      @collection = new TagCollection
      @collection.fetch_data
        order_by : "name"
      , =>
        @on_success()

    on_success: =>
      view_arr  = []      
      @collection.each (tag_model) =>
        tag = new TagView {model: tag_model}
        view_arr.push tag.render().el
      @$el.empty().append view_arr

如何将其更改为 MarionetteJS 集合视图?我尝试了以下方法,它似乎不起作用?

  class TagListView extends Marionette.CollectionView
    el:"#tags"
    itemView:TagView

    onBeforeRender: =>
      @collection = new TagCollection
      @collection.fetch_data
        order_by : "name"
      , =>
        @render()

我只是删除了 on_sccess() 方法,因为我的理解是 CollectionView 将通过它的 render 方法来渲染它的项目?

【问题讨论】:

    标签: javascript backbone.js coffeescript marionette


    【解决方案1】:

    你是对的。

    The collection view binds to the "add", "remove" and "reset" events of the collection that is specified.一旦发生任何这些事件,集合视图将自动更新视图,无论是部分还是整体。

    您可能想知道的另一件事是在 1.0.0 版本中,当一个集合进行 fetch 时,默认情况下它不会再触发 reset 事件。要获取旧行为,请传递 {reset: true}

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-01-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多