1

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

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

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

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

由于已经有一个 onBeforeCLose 回调,你会认为你可以从这里取消关闭。这根本不可能吗?

4

2 回答 2

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
于 2013-02-01T20:04:33.273 回答
1

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

于 2013-09-09T15:01:17.437 回答