请在此处查看我的代码:
var DemoView = Backbone.View.extend({
initialize: function() {
this.render();
},
render: function() {
var template = _.template('<p>text</p> \
<p>text</p> \
<p id="close">close</p>');
this.$el.html(template());
$('#demoContainer').html(this.el);
},
events: {
'click #close': 'close'
},
close: function() {
this.remove();
}
});
如果我在下面使用此代码并手动点击click
按钮删除视图:
(function() {
var demoView = new DemoView();
})();
然后我检查内存泄漏,结果是:
但是,如果我使用下面的代码并等待5秒钟,视图会自动删除它:
(function() {
var demoView = new DemoView();
setTimeout(function() {
demoView.remove();
}, 5000);
})();
我没有内存泄漏:
任何人都可以解释原因吗?
libs版本:Backbone 1.1.2,jQuery 1.9.1