从关闭onBeforeClose防止木偶视图

时间:2013-02-01 18:05:49

标签: backbone.js marionette

我试图阻止用户通过表单对模型进行编辑,并轻松导航远离该更改。在开始撰写邮件时想想Gmail。

有人在GitHub上发布了一个描述相同情况的问题。 https://github.com/marionettejs/backbone.marionette/issues/186

此问题已关闭,因为人们建议您在尝试关闭视图之前检测更改。

但是这种方法的问题在于有几种方法可以关闭视图。后退按钮,单击新导航项,取消视图上的按钮。

由于已经存在onBeforeCLose回调,您认为可以从此处取消关闭。这根本不可能吗?

2 个答案:

答案 0 :(得分:3)

现在,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

答案 1 :(得分:1)

不幸的是,在撰写此回复时, onBeforeClose 并不会阻止区域内容被关闭。有一个未解决的问题https://github.com/marionettejs/backbone.marionette/issues/703。您可以通过添加评论来修复此问题。