(相当复杂的)主干视图的最佳布局机制?

Posted

技术标签:

【中文标题】(相当复杂的)主干视图的最佳布局机制?【英文标题】:Best layout mechanism for a (rather complex) Backbone view? 【发布时间】:2013-06-21 15:32:56 【问题描述】:

我是骨干新手,尽管阅读了一些资源,但仍然有点不确定如何构建我的视图和相应的模型。

有问题的视图是一个自定义的 facebook 视图,它在顶部有一个过滤器(下拉列表),然后在下面有一个内容视图 - 这取决于被过滤的内容会显示一些内容。

例如,您可以在过滤器中包含所有、状态、照片、组等项目。

如果用户选择全部,则内容视图应为用户呈现所有状态、照片和组更新。鉴于状态看起来与照片不同,视图应该能够以不同的方式呈现状态和照片。

如果用户选择状态,则只显示状态列表。

问题是,我是为雕像、照片等创建单独的模型集合,还是只创建一个包含所有状态、照片等的多态集合模型?

风景怎么样?我应该创建不同的视图,一个用于显示所有项目,然后每个用于选择的项目,还是应该只有一个视图并在其中有逻辑以根据模型以不同方式呈现事物?

谢谢!

【问题讨论】:

【参考方案1】:

我构建视图的方式是。

ContainerView   (Holds dropdown and the content)
    |
    |
    |-----> HeaderView  (  This holds the Drop Dwon)
    |
    |-----> ContentView (This holds the content)
               |
               |
               |------> ListView ( For all the models )
                           |
                           |
                           |----> ListItemView ( Render each model in collection 

您将拥有一个将传递给 HeaderContentView 的集合对象。

您的列表视图将监听reset 并更改您的下拉列表的事件并呈现将遍历集合并为每个模型呈现ListItemView 的列表视图。

现在您有 2 个来处理 Photosstatus 和组。

您可以在每个模型上设置一个属性来说明它所属的group 的类型,并根据该属性呈现不同的模板,或者您可以为每个组设置一个单独的视图。我会选择后者(可能是矫枉过正)。但是,如果您谈论的是可扩展性和性能,那将会很有帮助。

【讨论】:

以上是关于(相当复杂的)主干视图的最佳布局机制?的主要内容,如果未能解决你的问题,请参考以下文章

Android复杂布局设计建议

如何正确设置水平图像视图的自动布局约束?

自动布局滚动视图最佳方法

使用以下数据库布局在 mysql 中创建视图的最佳方法是啥?

在没有索引视图的情况下,在 SQL Server 中创建复杂视图的最佳方法是啥?

如何在情节提要失败的情况下使用大量表格视图单元格和自动布局约束来布局复杂视图