如果对象超过30天,则为Backbone Collection过滤器

时间:2015-02-24 20:01:12

标签: backbone.js

我有一个主干集合可以撤回数组活动。每项活动都有created_at属性。

当提取集合时,我需要过滤对象数组,使其仅包含不超过30天的对象。

created_at时间戳看起来像@D:2015-02-23T08:25:49

2 个答案:

答案 0 :(得分:0)

与大多数Backbone一样,有很多方法可以实现这一点。一种方法是向模型添加validate()方法。在该方法中,如果模型不符合您的标准(即活动太旧),则返回任何内容(约定是带有错误描述的字符串)。然后,当您从服务器获取集合时,将非默认选项{validate: true}传递给集合的fetch()方法。 Viola,您的收藏只会有最近的活动。

答案 1 :(得分:0)

最好的方法是使用Collection的解析方法。从服务器获取数据后,此方法立即为executed
样品

parse: function(response) {
    // traverse through data and filter/delete the unwanted data. 
    return response.results;
  }

PS:从服务器获取不必要的数据并再次解析它似乎不是最佳的,如果你能更好地控制服务器在服务器上这样做。