Как передать объект с одной страницы пользовательского интерфейса Onsen на другую?

У меня есть объект js, загруженный на одну мастер-страницу пользовательского интерфейса Onsen, когда я вызвал ons.navigator.pushPage('child_page.html'), как я могу получить объект js на дочерней странице?


person Eli    schedule 03.08.2014    source источник


Ответы (2)


См. документацию и руководства.

http://onsenui.io/guide/overview.html#PageNavigation

Получить объекты можно следующими способами:

Страница 1

myNavigator.pushPage("page2.html", { param1: "value1", param2: "value2" });

страница 2

var page = myNavigator.getCurrentPage();
console.log(page.options.param1); // Will return "value1"    
person Ataru    schedule 11.08.2014
comment
У меня та же проблема, и я использовал этот ответ, который отлично работает, но только для передачи одного параметра. Когда я пытаюсь передать второй параметр, он не работает. - person Jigar Makwana; 20.10.2015
comment
Обратите внимание, что это ответ для OnsenUI версии 1. Для версии 2 см. ответ @morteza_tourani ниже. Ссылка, данная в этом ответе Атару, больше не работает. - person pashute; 29.07.2017

В OnsenUI 2 вы можете получить доступ следующим образом:

var options = myNavigator.topPage.pushedOptions;

Я попробовал ответ ataru но у меня это не сработало, я думаю, это из-за RC Version надежды, что они исправят это или, по крайней мере, изменят свою документацию по этому поводу.

person Morteza Tourani    schedule 27.05.2016
comment
Я использую var nav = document.querySelector('#navigator'); Затем я могу сделать nav.popPage(), но нет атрибута nav.topPage!! Я вижу только pushOptions ЭТОЙ страницы, которые связаны с animation. Что я делаю не так? - person pashute; 27.07.2017
comment
@pashute Мой ответ был давным-давно, когда я какое-то время пробовал Onsen, но теперь я использую Ionic из-за политики компании, и с этого момента вперед Onsen было сделано много замечательных шагов. Все, что я сказал, означает, что мне больше не о чем спрашивать, и мне очень жаль. - person Morteza Tourani; 27.07.2017
comment
Кажется, у меня была какая-то ошибка в коде, из-за которой навигация не оценивалась. Так что ваш ответ действительно сработал для меня. Спасибо большое!! (Я проголосовал за ваш ответ) - person pashute; 29.07.2017