【问题标题】:Dynamic layout in JS/CSS/HTMLJS/CSS/HTML 中的动态布局
【发布时间】:2012-03-28 03:36:40
【问题描述】:
在我的应用程序中,用户定义文档布局。
这些布局大部分时间都是逻辑表格,因此用户指定将在哪个单元格中显示哪个“属性”。它们还可以定义行数和列数以及属性将占用的行数或列数(HTML 术语中的 colspan 和 rowspan)。
现在对于给定的文档布局,我需要在浏览器中显示一组文档。
我想在客户端执行此操作,可能使用 jQuery 或/和 Knockout.js,或其他一些框架/库。
在我开始重新发明轮子之前,有人能指出我做这件事的正确方向吗?
【问题讨论】:
标签:
javascript
jquery
html
css
knockout.js
【解决方案1】:
不确定这是否真的算作一个问题。它对解释非常开放,但在这里。
使用一组多维 observableArrays 定义您的 LayoutViewmodel。多维数组中的每个索引都对应一个 Property 对象,该对象包含有关行跨度、列跨度等的数据(不确定您需要什么数据)。
显示带有foreach 绑定的布局。您很可能有其中两个,一个用于选择,一个用于显示。下面是我对展示的尝试。
<table data-bind="foreach: rows">
<tr data-bind="foreach: columns">
<td data-bind="attr: { colspan: colspan, rowspan: rowspan }, text: name">
</td>
</tr>
</table>
希望这会有所帮助。