新しいウィンドウで別のビューを起動するグリッドのあるビューがあります。親ビューはデータを子ビューに渡す必要がありますが、データがかなり大きいため、クエリ文字列として渡すことはできません。ネイティブモーダルを使用できません。私はwindow.openを使用しているだけで、カスタムモーダルコンテキストを作成していません。
1.以下のコードのようなものを使用して、新しいウィンドウに非表示のフィールド要素を入力しようとしました
var popup = window.open('/#/viewname');
popup.onload=function(){document.findbyid('hiddenfield')= newvalue };
durandal での読み込みを表示するためにスプラッシュ ページを使用しています。ルーターがまだナビゲートしている新しいウィンドウの onload であり、スプラッシュ ページ ドキュメントを取得します。
2.子ビューで親ビューを要求してから、以下のコードのようなものを使用して親ビューデータを取得しようとしました
define(['viewmodels/parent'],function ('parent'){
function activate(){
localvariablevalue= parent.observable;
}
return{
activate:activate
}
});
私は未定義としてparent.observableを取得します。これは新しいウィンドウであるため、文脈から外れている可能性が高いです。
3.シングルトンglobal.jsファイルを試して、親と子の両方でそれを要求しましたが、そのアプローチでも未定義になるため、コンテキストも失われていると思います
これを達成する方法についてのアイデア.. v 1.2 を使用して達成できる場合は? カスタム モーダル コンテキストを作成することで実現できる場合は、新しいウィンドウの addContext 関数を定義する方法について、誰かがいくつかの指針を示すことができます。