gpt4 book ai didi

backbone.js - 两次将 Backbone Marionette emptyView 模板添加到 DOM

转载 作者:行者123 更新时间:2023-12-01 12:52:16 25 4
gpt4 key购买 nike

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

我最初的想法是 View 正在重新呈现,而不是在同步集合时自行删除。 initialize 函数中的 console.log 显示 initialize 仅被调用一次。

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 标签,其中包含一些文本。

关于可能导致这种情况的原因有什么想法吗?

最佳答案

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

修复目前在开发分支中作为发布预览,如果你想现在就得到它 https://github.com/derickbailey/backbone.marionette/tree/dev

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

关于backbone.js - 两次将 Backbone Marionette emptyView 模板添加到 DOM,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11551359/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com