複合ビューのコレクションにモデルがない場合、emptyView プロパティを持つ Marionette 複合ビューを使用して単純なテンプレートをレンダリングしています。emptyView はアプリの複数の場所で正常に動作しますが、何らかの理由で、emptyView がページ上で 2 回レンダリングされているビューが 1 つあります。
私の最初の考えは、ビューが再レンダリングされ、コレクションが同期されたときにそれ自体を削除しないということでした。初期化関数の 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 タグです。
これを引き起こしている可能性のあるものについてのアイデアはありますか?