我想,以防止用户进行编辑,以通过形成一个模型,并轻松地导航从变化了。 想Gmail时,你已经开始撰写的邮件。
有人张贴在GitHub上描述了同样的情况的问题。 https://github.com/marionettejs/backbone.marionette/issues/186
此问题已被关闭,因为人建议你尝试关闭视图前应检测的变化。
但是,这种方法的问题是有有几种方法的视图可以关闭。 后退按钮,点击一个新的导航项目,取消对视图按钮。
既然已经有一个onBeforeCLose回调,你会觉得,你可以从这里取消关闭。 这难道不是在所有可能的?
什么你问的是内置在onBeforeClose
方法现在。 在那个票#186撰写时,基础设施不到位这一点。 事情发生了变化,它突然变成了一个班轮实现这一点,所以我做了:)
https://github.com/marionettejs/backbone.marionette/blob/master/docs/marionette.view.md#view-onbeforeclose
MyView = Marionette.View.extend({
onBeforeClose: function(){
// prevent the view from being closed
return false;
}
});
var v = new MyView();
v.close(); // view will remain open
不幸的是,在写这篇回复的那一刻,onBeforeClose并不妨碍地区的内容被关闭。 这里是一个开放的问题https://github.com/marionettejs/backbone.marionette/issues/703 。 您可以投票给这个问题是固定的,通过添加注释。