处理对象的子集

时间:2012-05-14 15:05:00

标签: backbone.js backbone-views marionette

如何处理对象子集的好模式。

说我有一个储物柜列表,每个储物柜里面都有一套物品。用户界面与此类似 - 我们希望ASCII艺术可以实现。

Locker#1    |    Item #1 in Locker #2
Locker#2 ** |    Item #2 in Locker #2
Locker#3    |    Item #3 in Locker #2
            |    Item #4 in Locker #2
            |    Item #5 in Locker #2
            |    Item #6 in Locker #2
            |    Item #7 in Locker #2
            |    Item #8 in Locker #2
            |

选择了储物柜#2(有效)。我一直在做的是在锁定器#2被激活然后做一个时设置一个回调 ItemCollection.fetch({data:{lid:LOCKER_ID}})用于获取准备显示的项的子集。哪个不像骨干那样。

什么是更好的方法 -

  • 加载模型的子集 - 如果是,那么有一个很好的例子来说明如何做到这一点?
  • 加载所有内容然后对Collection进行Backbone过滤?
  • 也许是一个可能合适的分页示例?

1 个答案:

答案 0 :(得分:1)

我认为一切都取决于您的数据量。

但是每次过滤器更改时,我都没有看到任何问题。我真的觉得它是Backbone的方式:)。此解决方案适用于两种情况:大量数据和少量数据。

作为优化步骤,您可以缓存集合,并在每次过滤器更改时创建新集合。因此,如果用户单击回已访问的过滤器,您可以重复使用获取

但是,此优化步骤仍然是增加用户与新数据之间的距离。用户应重新加载整个应用程序以刷新其缓存集合。或者......每隔X秒添加更多代码来重置集合......开始变得艰难。

所以,在我看来:每当用户更改过滤器时, 重新获取集合对我来说都很好。