0

Durandal のダイアログ プラグインを使用してカスタム ダイアログ コンテキストを作成しました。ダイアログは「ブロックアウト」を使用しないため、本質的に非モーダルになります。これはすべてうまくいきます。私が直面している問題は、ユーザーが (Durandal の dialog.show() メソッドを使用して) ダイアログを作成したビューを離れることで、ダイアログが DOM に表示されたままになる可能性があることです。

私の質問は 2 つあります。当面の問題を解決するために、作成したダイアログへの参照を取得できるかどうか疑問に思っていたので、最初にダイアログを作成したビューモデル内で閉じることができます。

2 つ目は、この一般的な問題を解決するために、ビューが非アクティブ化されたときに開いているダイアログを常に閉じたいということです。ビューごとにこれを明示的にコーディングする必要はありません。私はデュランダルに慣れていないので、これを行うための最良のアプローチが何であるかはわかりません.

これらの問題を解決するための提案をいただければ幸いです:)

4

1 に答える 1

0

ひょっとして、逆にすれば?カスタム ダイアログを使用すると、ビュー モデルをダイアログに渡すことができます。これにより、ビュー モデルが非アクティブ化されたときにイベントをサブスクライブして、それ自体を閉じることができます。

一般的な方法で行うには、そのサブスクリプション コードを別のモジュールのプロトタイプから継承することができます。

于 2013-11-08T20:39:18.297 に答える