2014-01-12 20 views
1

我正在学习backbone.js。我正在创建一个主干应用程序来显示表格中的一些数据。我有表视图工作正常,但是当我搜索的集合输入的键值,我确实看到在控制台中过滤的数据,但它显示了这样的:如何在骨干中更新过滤数据表

wrapper {_wrapped: Array[14], after: function, all: function, any: function, bind: function…} 

,而我的收藏显示的数据等这样的:

child {length: 30, models: Array[30], _byId: Object, constructor: function, model: function…} 

我的收藏:

App.Collections.Faxes = Backbone.Collection.extend({ 
    model: App.Models.Fax, 
    url: '/Fax', 

    search: function (key) { 
     if (key == '') return this; 


     var pattern = new RegExp(key, "gi"); 
     return _(this.filter(function (data) { 

      return pattern.test(data.get("FaxRecipient")); 
     }));   

    } 
}); 

而且,我试着做这样的事情collection.reset(search(key)),但没有数据。

有人能请我指出正确的方向吗?

感谢

回答

0

在你的搜索功能,返回此相反:

return (new App.Collections.Faxes(this.filter(function (data) { 
    return pattern.test(data.get("FaxRecipient")); 
})));   
+0

这个工作!非常感谢。 – user1828605

+0

@ user1828605你会如此好心以奖赏我的赏金?我不确定为什么将答案标记为正确不会自动做到这一点。 – idbehold

+0

@idebehold对此表示遗憾。我认为这是通过将其标记为答案来实现的。让我知道你是否得到它。谢谢 – user1828605