Onsen-Ui,不了解页面堆栈对象

问题描述 投票:0回答:1

我正在尝试使用 Onsen 中的导航器对象。 我知道如何推送页面、删除页面等。我不知道如何检索页面堆栈中的页面列表 - getPages() - 以及堆栈顶部的当前页面 getCurrentPage()。

Onsen-Ui - 导航器对象链接

我附赠了一支非常简短的笔 - 我是温泉新手,之前使用过 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>

任何帮助都会很好。

javascript jquery mobile onsen-ui
1个回答
0
投票

我知道您不久前问过这个问题,但我目前正在开发一个 Onsen UI 项目,因此一直在查看此网站上提出的问题。 我在您的评论中看到您设法使代码正常工作,但是为了回答您最初的问题(如果对其他人有用)如何获取当前堆栈顶部的页面和页面列表,您想要存储一个对ons 导航器对象的变量引用:

var onsNav = ons.navigator;

然后您可以访问导航器对象的各种属性。 您可以使用以下命令获取当前堆栈上的所有页面:

var pages = onsNav.pages;

当前页面是这样的:

var currentPage = onsNav.topPage;

希望有帮助!

© www.soinside.com 2019 - 2024. All rights reserved.