我目前正在使用CompositeView
。问题是,当我在destroy()
部分的其中一个子视图上调用CollectionView
时,它仍然保留在this.children._view
对象中,即使它从屏幕上消失。
如果我尝试对它做任何事情(让我们说再次调用destroy()
)比它说的那样,它已经被破坏了,但为什么不从对象中删除呢?
提前致谢。
答案 0 :(得分:0)
这可能听起来很烦人,但它的设置就像设计一样,因为CollectionView子项也可能独立存在。据我所知,收藏视图的孩子不知道他们是孩子(除了模型被销毁的情况[因此从永久存储中删除])。
CollectionView.removeChildView
可以提供帮助但是,Marionette确实公开了一个CollectionView
方法,该方法完全符合您的要求,CollectionView.removeChildView(view)
。
CollectionView.removeChildView
将从DOM中删除视图,销毁视图(删除视图上的所有侦听器)并将其从children
容器中删除。请传递您的一个观点。
如果您需要有关如何在子视图上触发CollectionView.removeChildView
事件的提示,请给我发表评论。