将 Backbone.js 与 Marionette.js 一起使用(去 Derick Bailey!)。需要检测何时从页面中删除视图。具体来说,我正在用另一个视图覆盖它。
是否有一个事件我可以检测到我可以重载以检测何时发生这种情况?
谢谢!
将 Backbone.js 与 Marionette.js 一起使用(去 Derick Bailey!)。需要检测何时从页面中删除视图。具体来说,我正在用另一个视图覆盖它。
是否有一个事件我可以检测到我可以重载以检测何时发生这种情况?
谢谢!
MarionetteView.onClose
为此提供了方法:
Backbone.Marionette.ItemView.extend({
onClose: function(){
// custom cleanup or closing code, here
}
});
在 vanilla Backbone 中,您可以覆盖该View.remove
方法:
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 元素,这些方法都不起作用。如果这是您的情况,解决方案很简单:不要那样做。在渲染另一个视图之前显式删除前一个视图。
区域显示功能将完成您正在寻找的大部分内容
https://github.com/marionettejs/backbone.marionette/blob/master/docs/marionette.region.md#basic-use
并在页面后面查看 on show 事件