Backbone: 重新渲染中丢失的事件
- 论坛
- Backbone: 重新渲染中丢失的事件
9 浏览
Backbone: 重新渲染中丢失的事件
我有一个超级视图(super-View),负责渲染子视图(sub-Views)。当我重新渲染超级视图时,子视图中的所有事件都会丢失。
以下是一个示例:
var SubView = Backbone.View.extend({ events: { "click": "click" }, click: function(){ console.log( "click!" ); }, render: function(){ this.$el.html( "click me" ); return this; } }); var Composer = Backbone.View.extend({ initialize: function(){ this.subView = new SubView(); }, render: function(){ this.$el.html( this.subView.render().el ); } }); var composer = new Composer({el: $('#composer')}); composer.render();
当我点击 "click me" 的 div 时,事件会触发。如果我再次执行 composer.render()
,一切看起来都一样,但是点击事件不再触发。