我正在尝试使用 Onsen 中的导航器对象。 我知道如何推送页面、删除页面等。我不知道如何检索页面堆栈中的页面列表 - getPages() - 以及堆栈顶部的当前页面 getCurrentPage()。
我附赠了一支非常简短的笔 - 我是温泉新手,之前使用过 JQM - 后者我知道该怎么做。我到处寻找但没有结果。
[带有代码和我遇到的问题的简笔][2]
document.addEventListener('init', function(event) {
var page = event.target;
alert("Current Page "+page.getCurrentPage+" "+page.getPages+" ");
if (page.id === 'page1') {
page.querySelector('#push-button').onclick = function() {
document.querySelector('#myNavigator').pushPage('page2.html', {data: {title: 'Page 2'}});
};
} else if (page.id === 'page2') {
page.querySelector('ons-toolbar .center').innerHTML = page.data.title;
}
});
<link href="https://unpkg.com/onsenui/css/onsenui.css" rel="stylesheet"/>
<link href="https://unpkg.com/onsenui/css/onsen-css-components.min.css" rel="stylesheet"/>
<script src="https://unpkg.com/onsenui/js/onsenui.min.js"></script>
<script src="https://unpkg.com/jquery/dist/jquery.min.js"></script>
<ons-navigator swipeable id="myNavigator" page="page1.html"></ons-navigator>
<template id="page1.html">
<ons-page id="page1">
<ons-toolbar>
<div class="center">Page 1</div>
</ons-toolbar>
<p>This is the first page.</p>
<ons-button id="push-button">Push page</ons-button>
</ons-page>
</template>
<template id="page2.html">
<ons-page id="page2">
<ons-toolbar>
<div class="left"><ons-back-button>Page 1</ons-back-button></div>
<div class="center"></div>
</ons-toolbar>
<p>This is the second page.</p>
</ons-page>
</template>
任何帮助都会很好。
我知道您不久前问过这个问题,但我目前正在开发一个 Onsen UI 项目,因此一直在查看此网站上提出的问题。 我在您的评论中看到您设法使代码正常工作,但是为了回答您最初的问题(如果对其他人有用)如何获取当前堆栈顶部的页面和页面列表,您想要存储一个对ons 导航器对象的变量引用:
var onsNav = ons.navigator;
然后您可以访问导航器对象的各种属性。 您可以使用以下命令获取当前堆栈上的所有页面:
var pages = onsNav.pages;
当前页面是这样的:
var currentPage = onsNav.topPage;
希望有帮助!