2012-02-25 50 views
0

我有以下功能:抓取数据与骨干集合的子集

 addBook : function() { 
      _authors = new Array(); 
      authors = $("#id_authors").val().split(","); 
      for (var i=0;i<authors.length;i++) { 
       var firstname = authors[i].split(" ")[0]; 
       var lastname = $.trim(authors[i].replace(firstname,"")); 

       _authors.push({"firstname": firstname, "lastname": lastname}); 
      } 
      this.authors.fetch({data: _authors}); 

      console.log(this.authors); 
      return false; 
     } 

价值在#id_authors是托尔斯泰,理查德Pevear,拉里萨Volokhonsky。我想循环浏览这些内容,并仅为这些作者获取作者信息。

发生了什么是它抓住了前20名作者(这不是碰巧是这些作者)。我如何使用集合只抓取指定的3位作者?

+0

你总是想加载3个作者或他们的动态设置? – yoda 2012-02-25 08:05:31

+0

off:而不是'new Array()',只需写'[]' – biziclop 2012-02-25 08:16:19

+0

off:您还可以使用_.map将authors数组映射到您正在创建的名称对象。 – 2012-02-25 08:24:24

回答

0

我不确定你正在运行的Backbone的版本,但它看起来像0.9.2你可能想使用“重置”而不是“获取”作为“重置”需要重置模型列表。

运行.fetch()时,它应该运行您的Backbone.sync()函数,该函数可能无法发送正确的查询来请求这三位作者。

你应该检查你的同步功能(如果你定义了一个)并且当你试图获取这3位作者时,看看这个url是什么样的。

如果您使用默认的RESTful方式加载数据,那么请确保它传递正确的资源参数来查询这3位作者。