У меня есть объект js, загруженный на одну мастер-страницу пользовательского интерфейса Onsen, когда я вызвал ons.navigator.pushPage('child_page.html'), как я могу получить объект js на дочерней странице?
Как передать объект с одной страницы пользовательского интерфейса Onsen на другую?
Ответы (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
У меня та же проблема, и я использовал этот ответ, который отлично работает, но только для передачи одного параметра. Когда я пытаюсь передать второй параметр, он не работает.
- person Jigar Makwana; 20.10.2015
Обратите внимание, что это ответ для 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
Я использую
var nav = document.querySelector('#navigator');
Затем я могу сделать nav.popPage()
, но нет атрибута nav.topPage
!! Я вижу только pushOptions ЭТОЙ страницы, которые связаны с animation
. Что я делаю не так?
- person pashute; 27.07.2017
@pashute Мой ответ был давным-давно, когда я какое-то время пробовал
Onsen
, но теперь я использую Ionic
из-за политики компании, и с этого момента вперед Onsen
было сделано много замечательных шагов. Все, что я сказал, означает, что мне больше не о чем спрашивать, и мне очень жаль.
- person Morteza Tourani; 27.07.2017
Кажется, у меня была какая-то ошибка в коде, из-за которой навигация не оценивалась. Так что ваш ответ действительно сработал для меня. Спасибо большое!! (Я проголосовал за ваш ответ)
- person pashute; 29.07.2017