Я с трудом справляюсь с этим.
У меня есть список HTML, и я хочу использовать Backbone.js для обработки событий в этих элементах списка. Вот что у меня так далеко. Это упрощенный сценарий, помогающий мне лучше понять, как структурировать более крупное приложение. В моем примере я просто хочу внедрить существующий список HTML в структуру Backbone и обрабатывать события щелчка через представление Backbone.
Я получаю сообщение об ошибке, связанное с использованием @model в представлении, но я вполне уверен, что здесь я не понимаю концептуально.
CoffeeScript:
$ ->
class Item extends Backbone.Model
name: null
class ItemList extends Backbone.Collection
model: Item
class ItemView extends Backbone.View
tagName: 'li'
initialize: =>
@model.bind('change', this.render)
@model.view = this
events:
'click' : 'clicked'
clicked: ->
console.log 'clicked'
render: =>
this
class ItemListView extends Backbone.View
el: $('ul#test')
initialize: =>
$('li', @el).each(@addItem)
addItem: (item) ->
item = new ItemView({ el: item })
render: =>
this
Items = new ItemListView
HTML:
<ul id="test">
<li>Hi thar</li>
<li>Yeah</li>
<li>OK</li>
</ul>
Вот jsfiddle, который я начал раньше: http://jsfiddle.net/Saxx4/