我有一个名为DashboardView
实例化多个WidgetView
s 的视图。每个小部件都需要有自己的事件绑定。据我所知,当视图被渲染并添加到父视图时,这些绑定会丢失,即:
class DashboardView extends Backbone.View
constructor: ->
context = @
_.each @collection, (w)->
dv = new app.WidgetView(model: w)
context.$el.append(dv.render())
class WidgetView extends Backbone.View
events:
"click .config" : "config_widget"
render: ->
_.template($("#widget-template").html(), @model)
这样做,.config
小部件元素上的点击事件现在丢失了。有没有更好的方法将嵌套视图混合到父视图中,同时确保子视图上的事件处理程序被正确引导?
我在这篇文章中看到了这个问题的一个解决方案。这看起来是对的,但我很好奇是否有更优雅的方法来解决这个问题。