Я ненавижу ставить этот вопрос там (наряду с другими миллионами «событий, не увольняющих»), но по какой-то причине другие вопросы и их соответствующие ответы не работают для меня.
Вот разметка шаблона внутри тега text / template скрипта с идентификатором display_template
<div class="display_data">
<a class="remove">X</a>
<div class="grid_6">
<%= Data %>
</div>
</div>
Это мой взгляд на Backbone в Coffeescript
$ ->
class window.WebsiteView extends Backbone.View
displayTemplate: _.template $('#display_template').html()
events:
'click .remove': 'clicked'
render: ->
$(@el).html @displayTemplate @model.toJSON()
@
clicked: ->
console.log 'clicked'
Обновление
Похоже, что я не правильно создавал экземпляр View, он устанавливается из коллекции и из представления коллекции.
class window.Websites extends Backbone.Collection
model: Website
class window.WebsitesView extends Backbone.View
template: _.template $('<div />').html()
render: ->
$(@el).html @template
@collection.each @renderWebsite
@
renderWebsite: (website) =>
website.attributes.Index = @collection.indexOf website
view = new WebsiteView
model: website
$(@el).append view.render().el
Если я удаляю селектор css из события click, метод clicked запускается для конкретного просмотра, но перестает работать, когда я добавляю в селектор css. Я подозреваю, что это может быть связано с тем, что @el
неправильно привязан, но я озадачен и надеялся, что кто-то может указать мне правильное направление с моим конкретным синтаксисом.