0

我刚刚开始学习流星,我想知道实现 MDI(多文档界面)UI 的正确方法是 jQuery Window 插件(http://fstoke.me/jquery/window/ ) 在流星中。

我最初的想法是在 Session 中存储一个 Window 对象数组,然后让模板循环遍历窗口列表,并相应地渲染它们。

但是,这意味着无论何时用户打开或关闭一个窗口,我都必须使用修改后的数组调用 Session.set(),这会导致整个 UI 的完全重新渲染,可能会使用户失去他当前的工作状态(除非为要使用的表单元素动态生成唯一 ID)。

此外,UI 将支持拖放和调整大小,这将导致更新 Window 对象,但更新 Window 对象不会触发反应性渲染,除非我再次使用 windows 数组调用 Session.set,这将导致整个 UI 的另一个重新渲染。

什么是正确的方法?这样重新渲染可以仅限于创建/关闭/调整的窗口?

谢谢你的帮助。

4

1 回答 1

0

我会创建一个名为“便签本”的集合Windows

Windows = new Meteor.Collection(null)

然后,您可以将窗口大小、位置等存储在此集合中,但不会同步到服务器。

或者,您可以将窗口排列存储为 Mongo 中用户对象的一部分,这意味着窗口排列将在会话之间持续存在(并且所有浏览器选项卡将共享相同的窗口排列)。

于 2015-04-20T13:41:46.883 回答