Как и у многих других пользователей здесь, у меня проблема с el
и событиями. В моей ситуации я протестировал несколько решений, включая использование значения по умолчанию el
(просто <div></div>
) tagName
, установку el
для селектора с использованием селектора jQuery и ожидание готовности DOM. Каждое из этих решений не смогло связать события, и все, кроме el
и tagName
по умолчанию, не смогли создать html. Соответствующий код:
Вид
$ ->
class Aggregator.Views.Streams.StreamView extends Backbone.View
template:JST["backbone/templates/stream"]
el: $('.item')
events:
"click div" : "testing"
initialize: (model)->
console.log @el
_.bindAll this , 'render'
@model.bind 'change', @render
@model.view = @
@render()
@delegateEvents()
render: ->
$(@el).html "test"
console.log @el
@
testing: ->
alert "EVENT"
#@model.clear()
Функция, вызывающая представление (извлеченное из другого представления)
view = new Aggregator.Views.Streams.StreamView({model: stream})
console.log view.el
$(@el).append view.render().el
Я немного запутался, я установил el
, но он либо не создает, либо не связывает события. Я пытался дождаться загрузки DOM и передать el
конструктору, но безуспешно. Буду признателен за любую помощь в моей наиболее вероятной очевидной ошибке.