Phi*_*ham 12 coffeescript backbone.js
我正在尝试构建项目列表(例如书籍),然后我想允许用户过滤此列表(例如,作者).我希望列表中的每个项目都有自己的视图,列表本身也会有一个视图.然而,我似乎无法"看到"这些在Backbone中如何组合在一起.
目前,我的代码如下(咖啡脚本):
class Book extends Backbone.Model
class BookList extends Backbone.Collection
model: Book
url: "/library/books.json"
books = new BookList
class BookListView extends Backbone.View
initialize: ->
@template = _.template('''
<ul>
<% books.each(function(book){ %>
<li><%= book.get('title') %>, <%= book.get('author') %></li>
<% }); %>
</ul>
''')
@render
render: ->
template = @template
books.fetch success: -> jQuery("#books").html(template({'books': books}))
Run Code Online (Sandbox Code Playgroud)
我想要了解的是如何<li>使用它自己的视图+模板创建列表中的每个元素,以便我可以按作者过滤它们.
jas*_*nas 11
虽然以这种方式编写它当然是可能的,但如果你有嵌套视图嵌套模板的模板,那么事情会变得复杂......
相反,为什么不将您的图书视图插入列表:
render: ->
$(this.el).html this.template()
bookHTML = for book in Books
(new BookView model: book).render().el
this.$('.book_list').append bookHTML
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5676 次 |
| 最近记录: |