【发布时间】:2011-09-05 17:09:38
【问题描述】:
我的 Web 应用程序是用 Backbone.js 编写的,有我所说的许多“模式”。 每种模式都描述了当前处于活动状态的模型和视图。通过更改哈希 (#) 中的模式参数,我在模式之间切换并实例化必要的 Backbone 模型和视图。
描述首选布局并在模式级别注入容器 html 代码似乎是合乎逻辑的。
假设“PopulationPyramidMode”模式有一个模型和 3 个主干视图。 “HeaderView”应垂直占用 30 个像素。 “SidebarView”应该在水平方向占据 200 像素,“CanvasView”应该填满屏幕,并在调整大小事件时缩放。
更复杂的是,CanvasView 包含一个必须在调整大小时重新渲染的可视化,即必须重新计算 x/y 比例。
那么,最好的方法是什么?
1) 布局逻辑应该去哪里?
- 在单独的 layoutManager 上 - 在这种情况下如何?
- 每个视图是否应该描述其首选大小等?
2) 如何为我的布局注入必要的 HTML/CSS 并在它们之间切换?
<!-- Layout 1 -->
<div id="header"></div>
<div id="sidebar"></div>
<div id="canvas"></div>
<!-- Layout 2 -->
<div id="header"></div>
<div id="canvas"></div>
感谢任何具体的提示以及一般的 JavaScript 布局!
【问题讨论】:
标签: javascript model-view-controller layout backbone.js layout-manager