Javascript 使用Backbone.js或Marionette.js从页面中删除视图时进行检测

Javascript 使用Backbone.js或Marionette.js从页面中删除视图时进行检测,javascript,backbone.js,marionette,Javascript,Backbone.js,Marionette,将Backbone.js与marionete.js一起使用(去德里克·贝利吧!)。需要检测何时从页面中删除视图。具体来说,我用另一个视图覆盖它 当发生这种情况时,是否有我可以检测到的功能重载事件 谢谢 区域显示功能将完成您需要的大部分功能 然后在页面的后面部分查看on show事件,木偶网提供了用于此目的的方法: Backbone.Marionette.ItemView.extend({ onClose: function(){ // custom cleanup or closi

将Backbone.js与marionete.js一起使用(去德里克·贝利吧!)。需要检测何时从页面中删除视图。具体来说,我用另一个视图覆盖它

当发生这种情况时,是否有我可以检测到的功能重载事件


谢谢

区域显示功能将完成您需要的大部分功能

然后在页面的后面部分查看on show事件,

木偶网提供了用于此目的的方法:

Backbone.Marionette.ItemView.extend({
  onClose: function(){
    // custom cleanup or closing code, here
  }
});
在中,您可以覆盖
视图。删除
方法:

Backbone.View.extend({
  remove: function(){
    // custom cleanup or closing code, here

    // call the base class remove method 
    Backbone.View.prototype.remove.apply(this, arguments);
  }
});

如果只是简单地破坏视图的DOM元素,这两种方法都不起作用。如果这是你的情况,解决办法很简单:不要那样做。在渲染另一个视图之前,请明确删除前一个视图。

芬克利夫和飓风PKT的答案组合就是您想要的。。。使用区域管理DOM元素中显示的视图,并侦听“close”事件,或者在需要时使用
onClose
回调。似乎onClose已被onbeforedistroy替换-