我的代码获取文件类型并相应地启动新的 ImageView。
var frameIdRegion = new Marionette.Region({
el: '#viewerId'
});
// Create a new Backbone Marionette View with item model. Render View and Show it on Screen.
if(fileType === 'Image'){
frameIdRegion.close(imageView);
frameIdRegion.reset();
var imageView = new ImageView({model: item});
frameIdRegion.show(imageView);
$(".frameId img").show();
$(".frameId img").load(function(){
$("#fit_to_screen").trigger('click');
});
imageView.close();
}
else if(fileType === 'pdf'){
var objectView = new ObjectView({model: item});
frameIdRegion.reset();
frameIdRegion.show(objectView);
$("#pdf_viewer").show();
$('#pdf_viewer').trigger('focus');
}
else if(fileType === 'unsupported'){
var errorView = new ErrorView({model: item});
frameIdRegion.reset();
frameIdRegion.show(errorView);
}
但是当我启动一个新的 ImageView 时,我的 ImageView 旧实例没有被清除。而且我的事件发生了很多次。这是我的 ImageView 代码。
var ImageView = Marionette.ItemView.extend({
template: template,
className: 'frameId',
onClose: function(){
this.remove();
this.unbind();
this.model.unbind("change", this.modelChanged);
}
});
请帮助我做错了什么?