我正在使用流星。我想知道在更新 DOM 之前是否有一种速记方法来进行批量更新。
例如,我想更新一些记录,不止一个(一次全部):
Collection.update(id1,{..})
Collection.update(id2,{..})
Collection.update(id3,{..})
问题是有 3 个项目正在单独更新。因此,当我的案例中的 DOM 被重绘 3 次而不是一次时(所有 3 条更新记录)。
有没有办法在所有更新之前推迟ui更新?
Mongo 的更新一次可以修改多个文档。只需给它一个匹配多个文档的选择器,然后设置multi
选项。在您的情况下,这只是一个 ID 列表,但您可以使用任何选择器。
Collection.update({_id: {$in: [id1, id2, id3]}}, {...}, {multi:true});
这将运行一次数据库更新和一次重绘。
而是在服务器上执行它们,这样它们可能会同步完成,这样它们就不太可能导致客户端上的多个 DOM 更新。
请参阅前两个和最后一个有趣的代码位,它解释了如何保护您的客户端免受数据库的干扰,以及如何在服务器上定义方法并从客户端调用它们。