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 に答える