【问题标题】:Backbone Marionette emptyView template being added to the DOM twiceBackbone Marionette emptyView 模板被添加到 DOM 两次
【发布时间】:2012-07-18 22:33:55
【问题描述】:

当复合视图的集合没有模型时,我使用带有 emptyView 属性的 Marionette 复合视图来呈现一个简单的模板。 emptyView 在我的应用程序的多个位置都可以正常工作,但由于某种原因,在一个视图中,emptyView 在页面上呈现了两次。

我最初的想法是视图正在重新渲染,而不是在同步集合时自行删除。初始化函数中的 console.log 显示初始化只被调用一次。

class AllLists extends Backbone.Marionette.CompositeView
  itemView: List
  emptyView: NoLists
  template: AllListsTemplate
  className: 'lists'

  initialize: (options) ->
    @collection.fetch()
    console.log 'lists ', @collection, @model

class NoLists extends Backbone.Marionette.ItemView
  template: NoListsTemplate
  tagName: 'li'
  className: 'no-lists'

如您所见,这里没有什么太疯狂的事情。空列表模板只是一个简单的 h4 标签,其中包含一些文本。

关于可能导致此问题的任何想法?

【问题讨论】:

    标签: backbone.js marionette


    【解决方案1】:

    这是 v0.9.3 版本中的一个已知错误,并在即将发布的 v0.9.4 版本中修复。

    该修复程序目前在 dev 分支中作为发布预览,如果您想立即获取它https://github.com/derickbailey/backbone.marionette/tree/dev

    如果您想使用其中之一的代码修补您的版本,有一些拉取请求提供了修复: https://github.com/derickbailey/backbone.marionette/pull/175

    【讨论】:

    • 果然,dev分支的最新版本修复了它没有问题。谢谢德里克!
    猜你喜欢
    • 1970-01-01
    • 2013-03-19
    • 1970-01-01
    • 1970-01-01
    • 2013-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-16
    • 1970-01-01
    相关资源
    最近更新 更多