Dru*_*Dru 25 javascript collections backbone.js underscore.js
示例代码:
this.books = this.getBooksFromDatabase();
this.publishedBooks = this.books.filter(function(book) {
return book.get("isPublished") === "1";
});
Run Code Online (Sandbox Code Playgroud)
这就是问题所在:
this.books.filter,返回一个模型数组.我试过包装数组,如下:
var publishedBooks = _( this.books.filter(function(book) {
return book.get("isPublished") === "1";
}))
Run Code Online (Sandbox Code Playgroud)
按照这篇文章的建议:https: //github.com/documentcloud/backbone/issues/120
但我仍然无法运行如下:publishedBooks.each(...)或publishedBooks.get(...)
我错过了什么?有没有办法将返回的数组转换为集合?
c3r*_*rin 34
您可以实例化新的骨干集合并传入数组.
var myPublishedBooks = new MyBooksCollection(publishedBooks);
Run Code Online (Sandbox Code Playgroud)
或者您可以刷新原始集合.
this.books.refresh(publishedBooks)
Run Code Online (Sandbox Code Playgroud)
请注意,2011年7月的0.5.0版本已重命名refresh为reset,因此您可以在较新版本的Backbone中实现此目的;
this.books.reset(publishedBooks)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
15388 次 |
| 最近记录: |