我的 Web 应用程序是用 Backbone.js 编写的,有我所说的许多“模式”。每种模式都描述了当前处于活动状态的模型和视图。通过更改哈希 (#) 中的模式参数,我在模式之间切换并实例化必要的主干模型和视图。
描述首选布局并在模式级别注入容器 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 布局!