【发布时间】:2014-01-23 00:01:06
【问题描述】:
假设您希望在单个社交新闻提要上显示多个集合,例如 Posts 和 Users(新注册)。您将如何在按创建日期排序的列表中反应性地显示两者?
想法 1 - 在客户端合并
您分别发布实体,并在客户端中按日期对每个实体进行排序,然后将它们合并到一个排序数组中,然后将其显示在 {{#each}} 迭代器中。 问题: AFAIK 这需要将响应式光标展平为静态数组,因此现在页面不会更新。 (也许有一种方法可以让页面在任何集合发生变化时重新计算这个数组,从而挽救这种方法?)
想法 2 - 创建一个新集合
您创建了一个新集合,例如FeedItems。在创建新的Post 或User 时,您还可以创建一个新的FeedItem 并将相关信息复制到其中。现在在客户端中显示项目非常简单。 问题:现在规范对象和它们的FeedItem 版本之间没有反应,所以如果有人更改他们的名字、删除帖子等,这将不会反映在提要中. (也许有一种方法可以在集合之间创建反应性来挽救这种方法?)
想法 3 - 在出版物中合并
也许有一些方法可以坚持现有的集合,但创建一个额外的'newsFeed' 发布,以某种方式合并它们。但是,我还没有看到任何这样做的方法。我在文档中看到您可以发布一系列集合,但是 AFAIK 这相当于一次发布相同的集合。
这些方法之一是否在正确的轨道上?或者还有其他我没有想到的?
【问题讨论】:
标签: meteor