У меня есть вид с сеткой, откуда я запускаю другой вид в новом окне. Родительское представление должно передавать данные дочернему представлению, и его нельзя передать в виде строки запроса, поскольку оно довольно большое. Я не могу использовать родной модальный. Я просто использую window.open и не создал настраиваемый модальный контекст. Вещи, которые я пробовал
<сильный>1. Попытался заполнить скрытые элементы поля в новом окне, используя что-то вроде кода ниже
var popup = window.open('/#/viewname');
popup.onload=function(){document.findbyid('hiddenfield')= newvalue };
Я использую страницу-заставку для отображения загрузки в Durandal, при загрузке нового окна маршрутизатор все еще перемещается, и я получаю документ страницы-заставки.
<сильный>2. Пробовал запросить родительское представление в дочернем представлении, а затем получить данные родительского представления, используя что-то вроде кода ниже
define(['viewmodels/parent'],function ('parent'){
function activate(){
localvariablevalue= parent.observable;
}
return{
activate:activate
}
});
Я получаю parent.observable как неопределенное. Скорее всего, это вырвано из контекста, так как это новое окно.
3. Пробовал одноэлементный файл global.js и требовал его как в родительском, так и в дочернем, но я думаю, что это также теряет контекст, поскольку я получаю неопределенность даже при таком подходе
Любые идеи о том, как этого добиться... если это можно сделать с помощью версии 1.2? Если это может быть достигнуто путем создания пользовательского модального контекста, то может ли кто-нибудь дать несколько советов о том, как определить функцию addContext для нового окна.