我有一个Collection为Models. 每个模型都有一个DisplayView始终可见。还有一个只有在单击EditView关联时才可见。DisplayView
DisplayView和EditView出现在不同的父视图中。现在我正在使用“事件聚合器”模式来告诉我的应用程序在单击EditViewa 时呈现DisplayView。此处描述的模式:http: //lostechies.com/derickbailey/2011/07/19/references-routing-and-the-event-aggregator-coordinating-views-in-backbone-js/
当单击其中一个时,DisplayView它会触发一个事件,该事件的父级EditViews侦听。当它接收到这个事件时,它会EditView根据触发事件的模型呈现适当的 。
这适用于我的大多数应用程序,但当我想根据应用程序EditView中相关项的绝对位置更改位置时尤其麻烦DisplayView。它不是DisplayView直接控制 的位置EditView,而是触发“请重新定位到这些坐标”事件。这种直接的通信感觉不像是应该向整个应用程序广播的东西。我开始怀疑对于我的情况,我是否应该将适当的引用EditView作为每个属性的属性,DisplayView而不是将它们解耦。
正如我所说,问题在于它们是在不同的父视图中呈现的。DisplayViewsget 中渲染,HeaderView而getEditViews中渲染ContentView。
其他人如何处理这样的情况?在EditView某些方面属于DisplayView,但这与我的应用程序 DOM 的结构方式不匹配。假设我确实在每个EditView和之间创建了直接链接DisplayView,我将如何处理 的显示/隐藏EditView?是否DisplayView还需要对ContentView容器的引用,它将使用适当EditView的参数显式呈现?